I think Tag Cloud web part has the functionality you are looking i.e it is uses tagid for URLs not the actual tags. It is in webparts/syndication/taggingcategories. Around lines 470 you will find
// Get the tags for documents
As Zachary said you can create custom macro and follow code from web part:
var ds = TagInfoProvider.GetTags(DocumentID);
StringBuilder sb = new StringBuilder(count * 100);
int index = 0;
// Process the tags
foreach (DataRow dr in ds.Tables[0].Rows)
{
if (index > 0)
{
sb.Append(TagSeparator + "\n");
}
// Create the link with query string parameter
string paramUrl = URLHelper.AddParameterToUrl(url, "tagid", ValidationHelper.GetString(dr["TagID"], ""));
sb.Append("<span><a href=\"" + HTMLHelper.HTMLEncode(paramUrl) + "\" >" + HTMLHelper.HTMLEncode(dr["TagName"].ToString()) + "</a></span>");
index++;
}