To answer your question about "routing 911 calls between providers": It works the same as any other call. The only difference is that it bypasses the billing part of the call setup, and the calls get routed to a specific PSAP (Public Safety Answering Point)
Typically, a handset will be programmed with preferred SIDs (system IDs) and sometimes "non-preferred". When a phone powers on, it attempts to register with its preferred network provider. If there is a handoff from one cell site aka tower to another, the system will attempt to pass to another tower from the same provider. If that is not possible, it will pass to another provider going down the list in order of "perference"...basically set up by the roaming agreements between providers. If it finds none in the "perferred roaming [SID] list" it will grab the first, strongest, signal it can find.
Most of this info is based off the old Analog AMPS standard. The concepts are similar with digital phones, but there are many more bands (800/900/1800/1900 Mhz) and modulation techniques (CDMA,GSM,TDMA iDEN,etc.). Overall, the good news is that digital cellular coverage is getting better and better. Analog coverage, while more pervasive, is going away, and providers will soon (if not already) no longer be required to provide analog service.
I am not a cellular industry rep, anyone who is or can correct/clarifiy, please chime in.