Can I use a modern Android phone with no phone plan? I'm new to the Android platform, but am looking into doing some development for Android 2.x, with the hope of publishing an app to the Android App Market eventually.  I'd like to be able to test my app on "real" hardware, but I already have an iPhone, which is plenty expensive itself, and I don't want to pay for an entire second cell phone plan just to test my code.  So my question is, is it possible to buy an unlocked Android phone and operate it entirely over wi-fi?  If so, what features (besides the obvious, like making calls), will I be missing out on?
Yes, it is possible, but it might be tricky depending on the phone.

For instance, I bought a T-Mobile G1 (not the Android Dev Phone version) and had to have a SIM card in it.  You can either borrow a friend's or you can do what I did, which was buy a prepaid-SIM card.  It cost less than $40.  If you have a friend's SIM card that has a data plan, then you can activate the phone.  But if you don't want to have to have a SIM card in the phone anymore, you'll have to root the phone and install CyanogenMod on it.

Now if you bought a pre-paid SIM card, then you can activate the phone over wifi by following these steps (this is specific to the G1).

A G1 is probably the cheapest phone you can get if you're only wanting to use it as a hardware testing device. On ebay it is around the $100-150 range.