Since the legislation is missing whistleblower protection (a fundamental flaw) there is no way Snowden can make any arguments in a U.S. court, at least not until the legislation is fixed. Unconstitutional or not, the law is just broken. It's painfuly obvious, and I can't fathom why fixing it isn't a higher priority (for example, wouldn't politicians who want votes promise to work for such reform now, after the Snowden debacle?)
Are whistleblowers allowed to blow their whistle to anyone? US has several whistleblower protection laws[1], but it seems to me that if you want protection from the law, you should report to the correct instances first, and then escalate from there. From Wikipedia:
> If the information that is being reported is classified, then the recipient must have a need-to-know and the recipient must hold a security clearance.
The espionage act, dating from the world war (The one with trenches and horses, not that new one) has no explicit whistleblower protection. It just talks about leaking sensitive information to the enemy It mentions forts, telegraphs...
The whistleblower protection act of 1989 eplicitly excludes those who work for the armed forces or the intelligence community (!). So basically the laws are wired such that the NSA and the Army are free to do anything (illegal) without scrutiny so long as it is also secret.