1. Yes, simply make an if statement like this:
if ($chr(32) isin $mircexe) { }
32 is the ascii value for a space character.
Though, if you do it right, mIRC will work fine with (single) spaces. If you use a filepath in a command, simply put it in between quotes (" "), or use $shortfn. And identifiers don't have problems with spaces at all.
2. It may be possible with binvars, but I'm not to familiar with them so I'm not sure, I would imagine it wouldn't be as simple as just using $read. You could try finding a DLL which is built to unzip/unrar certain cabinets.
Edit: two seconds.. d'oh!