1. You are correct, there is no control over routing inbound calls except based on CLID. I have also a need for this feature, but it is not a show stopper for me.
2. Nope, can't do to my knowledge with 125 phone.
3. You could control outbound lines by adding a second gateway and placing 1 or whatever lines you want for outbound there. Then set a dial access code of 8 for that gateway.
The 128ms phone would take care of most of your issues except for number 1, but I understand you already have the other phones. What I am doing is replacing some of my 125s with 128s, mainly at the places where they answer the main inbound calls.
Possibly some of these features will be added in SP3, but that is up to Microsoft...