Have you even looked at one of the many images, of John McCain's birth certificate, floating around the web? It clearly states, on every single version I've ever seen, that he was born in Colon, Panama, which has never been in the Canal Zone.
Even if he had been born in the Canal Zone, there is no law that can be passed that supercedes the Constitution on the matter.
You would have us believe that John McCain suddenly became a natural born citizen at age 16. But, he either was at birth, or he was not, and is not. The Constitution forbids changing that after the fact.
Maybe I should have replaced ‘gives’ with ‘recognizes’. It recognized that instead of being a ‘naturalized citizen’, he was a ‘natural born citizen’. The Constitution doesn’t forbid changing legal definitions or simple standards. Ex Post Facto refers to criminal law, making something a crime that wasn’t and retroactively enforcing it. Calder v. Bull case of 1798, Justice Chase established four categories of unconstitutional ex post facto laws, applying it solely to criminal cases, not civil cases.