No, because template parameters are in a different
namespace from page
names. We (hopefully) ban '=' in template parameters already.
No, we don't, they just only work if the param has a name, as I said.
If the param isn't named, you have to put '1=' or whatever at the
beginning. I imagine '=' is banned in param names, if that's what you
meant.
The problem
with page names including :: is much more serious issue.
You can't introduce a new special character without having some way to
escape it.
In practice, we tend to not bother with escaping, and just ban the
special character outright instead. That's moderately acceptable for
small numbers of characters, but we should reuse those banned
characters as much as possible for new syntactic constructs, if we
really need to make new ones.
For existing special characters, banning them is fine, but we can't
ban new special characters without breaking any page that already uses
them. Reusing existing banned characters is the best option, but it's
not easy to find one, '|' won't work in this case because it will be
assumed to be given display text for the link, rather than being part
of the url. What other banned characters are available?