There already is precedent in the <junit> task for this type of thing with the <test>/<batchtest> if/unless capability.
The if/unless in <test> is more or less a mirror of if/unless in the include/exclude elements - it is meant to exclude tests when the runtime environment is needed by a test is missing (and similar situations).
I use the if/unless on <batchtest> and <test> elements to set up a mutually exclusive way of running all tests or a single test. To run a single test, I do this:
ant -Dtestcase=SomeTest
I use it for isolating tests to decrease the time to get test feedback (for tighter development cycles).
Erik