Update: After contacting Sprint customer support a second time, they back-tracked and said there's no way to do it without incurring an ETF. The only options available are:

1. They can create an additional line on the account, then allow the first line to be pulled out - thereby cancelled. While doing so would allow you to maintain your account, you'd lose number history and would incur an ETF.

2. She also told me they may be able to work some voodoo and somehow simultaneously swap numbers, meaning that the existing carrier number is ported out to Google Voice, while the Google Voice number is ported to the carrier. She didn't really have any details on how that would work, and I can't find anything on Google. I don't actually know that this would be possible - she didn't know what Google Voice is, and acted as if it were another carrier. As there's no human interaction or support with Google Voice, I don't know how that would work.

Update 2: Looks like T-Mobile customers may be in luck (thanks, Roger). Not sure if AT&T or Verizon can do it, though.

Today (and not for the first time), Artem and I got into a heated debate about whether or not your existing contract would be canceled if you ported your number to Google Voice. As a former T-Mobile dealer employee, I knew that you could request a new number, and was fairly certain that it would be just as easy to have them assign a new number if your current one was ported out. Artem was equally as certain that your contract would be canceled, no way around it and no questions asked.

After an hour of arguing and trying to get him to call his carrier's customer service, I finally caved and contacted mine (Sprint). Sixty seconds later, we had our answer: I was right. In fact, the process is quite simple - simply call customer service and explain that you're porting your number out, but want to continue your contract, and you just want them to assign you a new number. And... well, that's about it. From there, head over to Google Voice and go through the regular porting process.

Before you get carried away with porting fever, a few things to consider: in some circumstances, carriers will charge you for a new number. For me, it would be free, as seems to be the norm - but still, the possibility exists. Further, as mentioned before, Google charges $20 for the port.

[Source: Google Voice]