Nice to see you're starting out with simple requirements.
The following will almost certainly not work correctly on the first attempt as I don't have the time to test and debug it, but hopefully it will get you started. My apologies if it turns out it's a total disaster. There may be much simpler/better ways to satisfy your criteria. It'll be interesting (to me at least) to see other suggestions.
The default Phone Port and Auto Attendant OutboundCallRoute DigitMaps get in the way of provider DigitMaps that need to alter the dialed number, so you will need to make the following changes:
Phone Port OutboundCallRoute:
{**0:aa},{***:aa2},{(<**1:>[x*].):sp1},{(<**2:>[x*].):sp2},{(<**8:>[x*].):li},{(<**9:>[obx*].):pp},{([x*].):pli}
Auto Attendant OutboundCallRoute:
{0:ph},{(<**1:>[x*].):sp1},{(<**2:>[x*].):sp2},{(<**8:>[x*].):li},{(<**9:>[obx*].):pp},{([x*].):pli}
Phone Port DigitMap : ([1-9]|[1-9][0-9]|**0|***|(Mpli)|(Msp1)|(Msp2)|**1[x*][x*].|**2[x*][x*].|**8(Mli)|**9(Mpp))
ITSPA DigitMap : (<**1>00xxx.|<6:**100346>xxxx.|<**10039>xxxxx.)
ITSPB DigitMap : (<**2>xxx|<**2>[89]xxxx.)
Set SP1 to use ITSPA.
Set SP2 to use ITSPB.
Please let me know how it goes.