I think it works the other way. If, instead of X including A, B, and C, you have A, B, and C each include X, then I think your filter will work the way you desire. I can't remember the details, but I remember setting up all of my includes backwards when I first set up my contexts.
But, if it doesn't make sense to do it that way, you can set up the filter to show you only tasks that include either B or X, but you'd need a lot of rules. You would have to specifically exclude tasks that have A or C, but not X or B. This is because tasks with only A will match a filter rule that only tests for X, because A in this filter essentially *is* X by virtue of being included.
I've re-read that three times, and I think it's right, but even though I wrote it, I'm having trouble following it. If somebody who is a better writer than me would like to fix that up, feel free. :-).
- Trevor.