This hurts you personally, but if I were in your shoes, and I was able, I would refuse the job offer. I know it isn't an answer anyone wants to hear, but if everyone did this, it would be extremely effective at stopping this kind of manipulation! The problem of course, is that few of us are able to do this, as most of us live hand to mouth, with little savings. And lets face it, the IT industry isn't as fertile as it was even recently.
Perhaps the next best thing to do would be to publicize the companies with these kinds of practices. That is also very risky, since the company can then turn around and fire you without a reason, and I expect most would do that. So perhaps you don't publicize this practice until you have procured another job.
Perhaps you can talk to a lawyer, but I expect there is little that can be done legally, unless you have a contract which spelled out what you were actually promised...
At the very least you should consider looking for another job. Any company with these kinds of practices won't stop at the relocation packages they promise. I would expect more of this kind of behaviour, and by staying you are rewarding this kind of practice.
If all else fails, immortality can always be assured by spectacular error. -- John Kenneth Galbraith