I would take a moment to ask yourself why you would want to take action against the company - should other companies become aware that you're the type of candidate that sues companies that don't hire him, do you think they'd want to interview you?
To answer your question, my agency recruits globally and I am not aware of any country that has a legal precedent for a candidate to sue (or otherwise take action) after having an offer indefinitely extended. It's important to remember that the company isn't doing anything to you, really. They aren't trapping you, you are free to move along to another position if you'd like. What damages would you be suing for? Typically you need to prove that the sued party somehow caused you harm.
As for why they've extended your offer, it is unlikely that they are jerking your chain. Most recruiters don't like to be called by people they have no reason to talk to. If you were rejected for the position, the recruiter would tell you so you wouldn't bother him or her anymore. Since you apparently are active with checking in, you can be rest assured that the company/client is still interested in you, and the recruiter is interested in getting you the position. They may not be able to bring you on because the budget hasn't been approved, the project itself is going through restructuring, the company's client hasn't delivered payment or is ordering a project redefinition, HR policies could be changing forcing a hiring freeze, etc ad nauseum. Knowing that your recruiter has no reason to lie to you, do you want to jeopardize a possible employment opportunity by attacking the company?
Your best course of action is to inform your recruiter you will check in bi-weekly and politely add that you will begin searching for other opportunities. Then, search for other opportunities. Avoid burning bridges, you never know where they may lead.