Hosted PBX definitely.
Alternatively, if you want to keep it inhouse, you could look into a VoIP PBX. I have one customer who has a single PBX and a single PRI and supports 6 offices over 100 miles apart. 4 digit dialing between all 6 locations. The solution we use works incredibly well and is very cheap in comparison.
The better option, likely, would be a hosted PBX. Realistically, I've found that even with g.711 codec, you can fit about 12 channels reliably over a 768k connection.
As far as internet and voice service goes, we like to recommend Telepacific (we're in northern California, but they serve southern california as well, i believe). They have some of the best prices we've seen and we use them ourselves. (I have no financial ties to Telepacific) They're very willing to work with you on implementing things like call forwarding after hours, etc.