You can run something like this against your database once you publish the site to production to change the root url (portal alias). We have had to do this because of different links using the full url on our staging server.
UPDATE HtmlText
SET DesktopHtml = REPLACE(CAST(DesktopHtml AS nvarchar(max)),N'http://localhost/dnn40904_mywebsite',N'http://www.productionurl.com')
WHERE DesktopHtml LIKE ('%http://localhost/dnn40904_mywebsite%')
However, the issue you may run into with this method is the fact that the tabid and cid will change between the two databases. I am not sure there would be an easy way to work around that issue. With some creative sql coding you may be able to do it.
So, if you know that what was Category 1 is now Category 2 and TabId 56 is now TabId 42 this could work for you:
UPDATE HtmlText
SET DesktopHtml = REPLACE(CAST(DesktopHtml AS nvarchar(max)),N'/Store/tabid/56/cid/1/mycategory.aspx ',N'/Store/tabid/42/cid/2/mycategory.aspx ')
WHERE DesktopHtml LIKE ('%N'/Store/tabid/56/cid/1/mycategory.aspx'%')
The issue with this is you would have to hand craft a new query for each category and/or tabid that has changed. You may be able to use SQL to grab the new ideas by querying for the category and/or tab by name. Then you could build your replacement string as a SQL variable and pass it to the replace method. This would take some of the manual work out of it, by preventing you from having to track down each id by hand.
I know this is probably not the answer you were hoping for but I hope it helps. AND PLEASE REMEMBER TO BACKUP YOUR PRODUCTION DATABASE BEFORE TRYING ANY ON THIS!!! <- can you tell I cannot stress that enough?