If you need to build in logic where fields are only mandatory for a particular Territory ID, then you’re looking at a BPM.
For your Attributes issue, are you able to look at the Customer.AttrCodeList field in the BPM?
Also, in a BPM you can always get to fields that aren’t in the dataset by querying the db if you really need to. But hopefully you don’t have to in this case.