One way to do it is to provide virtual capabilities. For instance, in package A:
In package B:
In package C:
So, either A or B satisfy C's requirement.
i.e if 'A'. or 'B' is Installed then my package should also get installed .
That doesn't work, because both A and B would depend on your package.