Now that I think about it a better quibble is that you probably can't get around anti-discrimination laws by posting a sign that says "No Canadians or Americans that have spent too long in Canada."
As I understand it, it'd be illegal even with just "No Canadians" because that's a "national origin" right? Instead you'd post "No Canadian Residents" and you'd be in the clear :)