Wordpress has very bad database utilization. The indices are bad, the queries are bad. Wordpress wasn’t ever designed to handle large blogs.
I have put some efforts in optimizations of Wordpress, you should update to the most recent version. That helps only slightly. You should use supercache or a similar plug-in, and in the long-term look out for better blogging software if you intend to grow.
Then reduce the size of those in-memory tables to default values (couple of meg each iirc) and increase your innodb buffer pool. And take a look at other innodb tweaking parameters. That should help some, but you have got to live with on disk sorting for Wordpress.
And remove all Wordpress plug-ins or make sure you can optimize them yourself. Most are bad as well.
You just reconfirmed where my mind was going on all this.
I am not going to waste the 1G on temp tables in ram if they are going to disk anyway. I am also going to put in a second MySQL server and split the load, besides the other items you suggested.
Long term I need to find another blog that manages data and queries better. Its going to be a bear to move everything, but the problem is only going to get worse. For now I just need to throw more hardware at the problem.