Typically you would have all three sets of sub locations in one list.
Then it should be pretty straightforward to setup the cascading dropdowns.
There is not a way to make one dropdown dynamic this way.
However you can make three dropdowns, one setup for each and then use conditional formating to hide the two you don't need based on the first dropdown value.
Create three dropdown controls, each bound to the same field but each with a different secondary data source.
So dropdown SubA would have conditional formatting where locationdropdown not equal to A hide. This would be the same for each.
If you need help with setting up the filters for the second dropdowns just do a search here on cascading.