Northern.Bob,
You want the PSTN line to be primary for local calls and everything else going to SP1. Choose PSTN as "Phone PrimaryLine" in the Setup Wizard->Outbound Settings->Phone PrimaryLine. This will give you normal call without pressing any extra digits before the telephone number you are calling. (transparent to any user, pick up the phone, dial normally and the OBi does the routing behind the scenes)
Background:
This is the Default Obi in the: Setup Wizard->System Management->Outbound Settings->Parameter Name->Phone OutboundCallRoute. (Note the same setting can be configured in the "Physical Interfaces" part of the web page. There is more than one way to change some settings)
{(<#:>|911):li},{**0:aa},{***:aa2},{(Mpli):pli},{(<**1:>(Msp1)):sp1},{(<**2:>(Msp2)):sp2},{(<**8:>(Mli)):li},{(<**9:>(Mpp)):pp}
As biomesh mentioned, you can use his setup. The first part will send all calls to the POTS line by pressing the #. I know you don't care for having to press the "#" digit. As long as you leave PSTN as the "Phone PrimaryLine" this will be another way to access the POTS line directly. Using this approach you need to assign in advance the long distance area codes you are likely to use. This will send the calls to SP1. The "!" character will block the 514 and 450 from going over the SP1. I think blocking 514 and 450 part is not really necessary as it should be picked up by the Primary line before the call processing reaches this part of the dial plan. The only problem you might have is you are restricted to the area codes you put in the dial plan. Other long distance calls might go over your POTS line if you have not prevented it.
Try this:
{(<#:>|911):li},{(x.218xxxxxxx|x.809xxxxxxx|!x.514xxxxxxx|!x.450xxxxxxx):sp1},{**0:aa},{***:aa2},{(Mpli):pli},{(<**1:>(Msp1)):sp1},{(<**2:>(Msp2)):sp2},{(<**8:>(Mli)):li},{(<**9:>(Mpp)):pp}