This sounds like a report with a filter. Populate C hierarchy nodes with an inherited (for example) property 'C' and then create a report that uses a property filter to include all hierarchy top nodes but only nodes with the property 'C.'
Create a Property of Data Type AscNode, let's name it as for example: Test
Create a derived property with parameters as below ,
If(NodeInHier(Propvalue(Custom.Test),Hierarchy-C),True, False) --here we are checking whether the user selected value is part of Hierarchy 'C' or not.
Now create a Validation of class "Property equals value" and use the TEST property part of Property to Check and use False as value to check.
Wish it helps,