<quote>Because ? and # have special meanings in URLs (parameters, named anchors).</quote>
I already understand that already. I just think it is odd that WordPress would allow you to create permalinks with just about any character; but disallowing the use of two characters that are normally and frequently used in urls.
Anyways, my situation is that I have multiple WordPress installs on one domain. Also, research tells me that it is best to include the post id in your permalinks. In order to keep track of the installs, I assigned a number to each blog install and included that number into the permalink structure. For example, domain.com/blog-install-1-directory/1/post-id/post-name would designate blog 1 and domain.com/blog-install-2-directory/2/post-id/post-name
would designate blog install 2 etcetera.
I was not happy with this permalink structure. I felt it was awkward; witch is why I wanted to moved the post id and blog install number to the end of the url as a query string.