2) If you hot-swap your .war file often enough, Tomcat will run out of memory (OutOfMemoryException in the logs), and you'll need to restart.
3) Sometimes if you hot-swap, it won't always pick up the changes (as you've seen.) To get around this, in the past, I've simply stopped and restarted Tomcat in between each build (of, say, JIWT.) You might also want to consider completely removing the temp/ and work/ directories. There's no harm in doing so, and it will force a recompilation of all JSP pages, and get a new working copy of your Java classes.
4) Yep, Tomcat will sometimes lose the context.xml file. Make a backup, and a quickie /home/static/bin/moveback type of command to copy it from its backup spot to where it goes.
5) Consider not doing a full .war-file deployment each time. If it's possible, you might be able to just run a "compile" step, and with the deployment of a warname.xml file (see below) inside your $TOMCAT_HOME/conf/Catalina/localhost directory, you can get your process down to "edit files, mvn compile, reload in browser" (uber-thanks to AdminiScott for reminding me how to do this in Tomcat.) Your warname.xml file should look something like:
<?xml version='1.0' encoding='utf-8'?>
<Context docBase="/Users/mike/Work/jiwt/trunk/build" path="/forums" reloadable="true">
</Context>
Thus, I can go to http://localhost/forums and pull up JIWT locally.