If you don't want a data plan you will need to pay the full price. Normally if you are still on contract and want a new phone from the company, you will need to pay a fee for terminating the contract early. If you pay the full price for this new phone, you will not need to pay for the termination, because you are not creating a new contract. The free price is only with a contract, which is why the non free version is so much more expensive.
You might be able to find a second-hand good iPhone online at a place like Ebay for cheap. I have an iPhone 4 in mint condition sitting in front of me. So they are definitely available.