RHQ's philosophy is that the agent plugins should do what they are told - i.e. when your component is asked to collect a metric, it should do it.
To disable metric collection, you go to the server and, in the UI, navigate to Monitoring -> Schedule and disable the metric in question. After that it will no longer be collected - i.e. no requests to collect that metric will be sent to your component.
If you want the metric to be completely unavailable on a certain resource (i.e. not even defined), you need to do it by discovering the resource in question as a different resource type. I.e. you would have 2 "similar" resource types, where one would include the metric and one would not have it at all. You then would have 2 discovery components - one would discover the resources of the type with the metric and the other would discover the resource of the type without the metric.