... I get a call from "650-555-1212" and then I try to dial back that number, the call fails, since Sonic's phone service requires a 1.
Most phones that allow dialing back from caller ID have a button or menu function to edit the number before it is dialed.
It may not be immediately evident. For example, on my AT&T cordless phone (yes, I see the irony), if I want it to dial the number I'm viewing, I just hit the "phone" button (the same that I use to answer the phone). If I want to edit the number, I press the "menu" button, and the display changes to "edit" and allows me to insert a 1 before dialing.
I believe that CPUC requires the 1 in front of the area code, and Sonic doesn't have the right to override. There are areas in the state that require ALL calls to be dialed with an area code (because there is an area code overlay), and those people still are required to dial 1. (We'll soon have that situation in 408, with its 669 overlay.) For everyone else, it's how the phone company switch (whether Sonic, AT&T, Verizon, Comcast, etc.) knows how many digits to expect. If you're in Oakland and dial 415-555-1234 without a leading 1, the switch assumes you're calling Hayward (same area code, number 415-5551). The leading 1 indicates "area code follows."