Using UPX I was able to get the filesize of mirc.exe down to 800kb from 2mb! However, this compressed binary quits immediately after launching.
I theorize this has something to do with the mIRC feature where it checks it's filename to make sure it has "mirc" in it. The easiest way to do this is using argv[0] (which contains the full path and filename of the launched executable), however one of the caveats with UPX is that argv[0] becomes nonsensical. Perhaps this restriction could be removed in favor of a compressed EXE instead (it would make it more suitable for a portable mirc on my thumbdrive

).
There might be a performance hit that goes with the inital program launch, but I am unable to measure it since it doesn't work in the current build of mIRC >_<.