Look at the Set-Caller-ID module. If you can route the calls through that on your way to wherever they are being sent, then you can do all kinds of hinky things to the CID.
I don’t think so… There are lots of ways to use the module in addition to using it as a dialed destination.
If you can’t do it, you could go back through the list. There was a discussion about something very much like this a couple of weeks (maybe three) ago.