Churches won't be compelled to marry gay couples, so that is not a valid reason to oppose gay marriage. Churches are pretty much free to discriminate against anyone they choose. There are churches today that will not marry non-members. There are churches that will refuse to commune non-celibate homosexuals. Churches have a lot of liberty in this regard.

Not in Canada. It's considered hate speech to preach an anti-gay stance.