I would have 3 sale items in this type of scenario. You can have an uncapped local and non-local item with the appropriate price(s). Then a third combined item would be capped but have a sale price of zero. In registration, the user would choose something like:
Checkbox - Register to play SPORT (with capped inventory but no price). Make this item required so you cannot proceed without it.
Then, either on that page or a later page, you can have the local or non-local items (prices but no max items)
They won't be able to complete registration if the cap is reached (because they cannot add the required item), but prior to the cap, they can choose local or non-local without worrying about how many of each.
We use a similar process to cap our divisions. You choose an age group first (with a cap), then later you can decide how to pay (now or on payment plan). Once the age-group limit is reached, they cannot go any further, but prior to that point, they can pay with either method (equivalent to your local/non-local split).