Suppose you want to make a unit recruitable in (and only in) all Gondor starting regions. The codes I used for the Gondor starting regions (from descr_regions) are:
1, A, 5, E,
1, A, 5, F,
1, A, 5, G,
1, A, 5, H,
1, A, 6, E,
1, A, 6, F,
1, A, 6, G,
1, A, 6, H,
1, A, 7, E,
1, A, 7, F,
1, A, 7, G,
So I make a recruit pool in EDB that looks like this:
recruit_pool "Gondor Couchpotatoes" 1 0.2 2 0 requires factions { sicily, } and hidden_resource 1 and hidden_resource A and hidden_resource 5 or hidden_resource 6 or hidden_resource 7
Now I need to exclude the next region , Kings-Land (region code 1, A, 7, H) which is not a Gondor starting region, but has the hidden_resources 1, A, and 7, so that it is included in the above recruit_pool. Add this line:
recruit_pool "Gondor Couchpotatoes" -1 -0.2 -2 0 requires factions { sicily, } and hidden_resource 1 and hidden_resource A and hidden_resource 7 and hidden_resource H
The negative values will cancel out the recruit_pool in this region.
As long as the regions in your AOR are contiguous (in descr_regions that is) or nearly so (which is almost always the case), you should never need to add more than a few extra lines to cancel out excluded regions.
Using 4 sets of 4 hidden_resources as I did in the files attached to the OP makes this process much easier, by reducing the number of regions you will need to exclude and thus the number of extra lines of code with negative recruitment pools that you will need to add. The greater the number of possible digits in each position of the combination, the more likely it will be that you need to add many more extra lines and more complicated the exclusions will have to be.
The only drawback to this method is that the original "Enables training of:" entry will still show up in the building information scroll, but this can be dealt with by some creative editing of the text files.