Yes, you have to tell the border guard your intended period of stay, though from what I've heard they usually give you 6 months by default regardless of what you tell them. I arrived with a return ticket for 3 weeks later and he told me I'd get 6 months (though he actually gave me 7 months, probably just a mental calculation error on his part). Like I said, they can give you less or more, though it appears they rarely do unless there is a specific reason.
There is no distinction between visas and permits for different countries. Some countries require a visa, which is basically allows you to apply for permission to enter Canada. Other countries do not require visas at all.
You are correct, Canadians are not on the visa waiver program. They are visa exempt. Canadians can apply for a visa ahead of time, and if there are any complications, they can be required to. For example, a girl at my previous school in the U.S. had to apply for an F1 visa, even though Canadians are normally exempt, due to some criminal charges in her past. In normal situations you wouldn't want to, though, as it'd just be a waste of time and money to apply for what you don't need.
There is no visa issued at the border of the U.S.
Visas can only be issued by consular or diplomatic officials. What border guards can issue is an I-94, which is proof that they were permitted to enter, in what status, and the expiration date (if it has one). Normally Canadians are let in without even getting an I-94, though. But an I-94 is not a visa.
I don't doubt that the border guards may have told you that they issue visas to Canadians on the border. The one who told you was probably trying to simplify things to avoid communication complications, or was just plain uneducated. Either way, he was wrong.
doctorkb said:
That isn't entirely true. You have to tell the border guard what your period of stay is intended to be (it's on that form that you fill out before customs, in the case of air travel). I've seen that *usually*, the border guard will write a date underneath that for something a couple weeks longer than what you say you'll be there for -- if they're doing their job. Complacent ones will just stamp it and say "have a nice day."
As for the distinction between "visa" and "permit" -- that's country-dependent. Canadians aren't on the "visa waiver program" in the US -- I was told by a border guard when entering the US that the visa is issued at the border. We can't even apply ahead of time if we wanted to (except for a very small number of visa classes). Perhaps CIC does it differently -- my statements were based on the fact that usually these things are somewhat reciprocal.