Live Rebel (mentioned in another answer) can automate all that for you. I was hoping for a free technique but since time is money, management around here might spring for that. Where hot deployment / reload fails JRebel also doesnt do a better job, in fact i had quite a few weird, additional errors because of the JRebel "agent" (reloader-daemon) ...this software only may be worth it if you're doing LOTS of re-deployment and/or local testing, which might just be a sign of a flawed work-process ....
Of course you can always run the new install on the different port, but if you're using Apache in front, you'll have to update the Apache config as well.
So say we need to make one small change on one class file.
If you install the new service with a different service name, you don't have to worry about any conflicts (except the ports in your server.xml) If this is a production box, I would recommend changing the ports on your new installation so you can run it alongside your current install, and test your applications before you switch over.
If all is OK, you can shutdown your new Tomcat, update the ports to be what your current install is, shutdown Tomcat5.5, and start your new install and you should be good.
Tread corresponding to the old server and do ./stop.
I suggest you listen to what the people are trying to tell you before you start the migration though.Of course, this upsets a few people because it destroys all logged in sessions for all apps. I mean, is there a way to only reload the CLASS that changed instead of everything on the dev machine? Have you tried to use Tomcat's Manager application?It allows you to undeploy / deploy war files with out shutting Tomcat down.Before you consider upgrading your Tomcat version that much, you need to do an audit of all of the changes between Tomcat versions.Things may "just work"; things may not work as well as they did; things may entirely break and leave you confused as to why. Even though it's dev, it's used by our clients pretty heavily during testing.