I would like to have pretty URLs for my tagging system along with all the special characters: +, &, #, %, and =
I'm not sure I understand what you're asking, but the NE (noescape) flag to Apache's RewriteRule directive might be of some interest to you. Basically, it prevents mod_rewrite from automatically escaping special characters in the substitution pattern you provide. The example given in the Apache 2.2 documentation is
RewriteRule /foo/(.*) /bar/arg=P1\%3d$1 [R,NE]
which will turn, for example, /foo/zed into a redirect to /bar/arg=P1%3dzed, so that the script /bar will then see a query parameter named arg with a value P1=zed, if it looks in its PATH_INFO (okay, that's not a real query parameter, so sue me ;-P).
At least, I think that's how it works . . . I've never used that particular flag myself.