You can use Google Voice, a free service from Google that will assign to you a working phone number. You do need to have a working number to get a Google Voice number, but only for the verification. Once you set up your Google Voice you can set it to never use that number to forward Google Voice calls and text. So any working number will do. Once you have your free number just install the Google Voice app on your android phone. Now you have free texting and voice mail over WiFi. Also if you have GMAIL on your droid, you should uncheck GMAIL notification on Google Voice. Otherwise you'll be getting double notification of text and voice mail from both the Google Voice app and Gmail, which can be annoying.
Now for calling, the Google Voice app does allow you to make voice calls, but only through the cell provider. You can make Google Voice internet calls on your computer using Hangouts, just not on the android. So to make phone calls on an android phone with no service you'll need a SIP(VOIP) app which will turn any call you make into a VOIP calls. Sipdroid is one that's very simple and free to use. I believe there are a few others, but I haven't tried them. Now this only works for outgoing calls. Any incoming calls through Google Voice will automatically be forwarded to voice mail. If I find something better in the future, I'll make sure to add it here.
It's not exactly perfect, the quality can suck sometimes. But it's free. I also use a WiFi app that automatically connects me to any open WiFi, that way I can usually get notified of any text messages or voice mail. Probably not the best idea as far as security goes. Also I would like to note that on a phone with no service it's best to keep it in airplane mode. Cell standby can really be a drain on the battery.
If you do know of a better VOIP app, please let me know in the comments below. Hopefully one day Google will upgrade the app to include VOIP outgoing and incoming calls.
Update GrooVeIP & Ting:
After having a few issues with Sipdroid, I went ahead and spent some cash on GrooVe IP, which works perfect for both incoming and outgoing calls. So if you're willing to pay a few bucks, I would recommend the GrooVe IP app, it's worth the cost.
Ting + Voice + GrooVe IP = cheapest phone bill ever. I bought a Galaxy Nexus for service with Ting. So now only using data(no voice, no text from Ting), I only get charged for the data I used. Since I can usually get WiFi from all the places I go to, I rarely use data, and when I do it's usually very minimum. Seriously, my bill last month was 19$, it would have been cheaper but I forgot to turn off Google Photo auto sync. =) If you're interested click here and get a free 25$ credit for Ting.