There are a couple of questions in here, but it seems like the main one is "can I test my application on an iPhone without a contract?"
Yes. Yes you can. This will be just like developing for an iPod. I have an iPhone and recently severed the contract. I still use it for development.
In terms of GPS: you will only be able to test this if you have a phone contract. The GPS works based on the cell phone towers. You might be able to have limited location awareness based on which wireless network you connect to (similar to how desktop browsers can now have some limited geographic awareness), but if you want to get GPS locations, calculate distances, etc, you will need to have a wireless plan.