Are all the DXX users in the same area code as phone system? If so, you could trick the PBX into limiting available trunks by the following magic:
1. Enter all the DXX numbers as going to area code 555 instead of the real one (we'll say your real AC is 123 for these instructions).
2. Divide your trunks into two groups, A & B, with B having the number of trunks you want to allow for DXX, and those trunks being at the top of the group.
3. Modify your ARS Local facility group to include A, then B. This will mean if A is busy regular outbound will roll to B as long as DXX isn't already using.
4. Create a new ARS facilities group called DXX, with dial rules "ADD 123 (local AC)" and "ECHO LOCAL NUMBER".
5. Create a new ARS route group called DXX, with pattern 555+
6. Choose the new DXX facilities group as the one used by the DXX route group.
So what happens is any time ARS sees AC555 it's going to use the limited trunks in TG B if available, strip off the 555 and replace with 123 and send the call. No trunks available in B group = blocked call.
Haven't built it, but have used similar trick for things like adding *67 to block outbound caller ID.
If DXX users have various area codes all is not lost, it just gets more complicated.