If you just set a rule to copy something, if that something is a folder, it will copy the whole thing over wholesale. This is somewhat rough and doesn't let you do things at a finer granularity. For instance, if you only want to copy over files that changed since last time, it won't work since the folder's modification date may not have changed even if some files within it have.
I'm not sure if the parent folder attribute would let you have that much control. When writing the rule, there's no notion of the structure of the folders you are going to run it on ahead of time and you have to provide for cases that don't line up. For instance, what if the rule matches a file at the top level (folder A, in your example), what does it mean to use the folders two levels up? And suppose you have a folder at level E (one below D)? The destination might look like:
Destination
---Folder C
------Folder D
---Folder D
------Folder E
Since from the perspective of a file in E, D is the grandparent. Basically, specifying levels from your current position may not be what you want.
For now, it would be the whole path from A to D. I might provide for just Folder D (the immediate parent) as an extra option if someone can come up with a good case that would need it. If you want just C & D, then you would probably have to have Hazel monitor folder B instead. I guess I could provide a way to specify a new "root" in relation to the top level folder (like the "Subfolder level" attribute when specifying rule conditions). I'd need to think about how that would be done though.
I'm not sure if you're still following at this point but hopefully some of this made sense. If not, let me know and I'll try and clarify.