I don't know about the first item, but mIRC already understands /join and only understands /j as /join due to an alias that comes in mIRC.

You state that mIRC's scripting option to allow aliases isn't the answer.. mind telling/explaining why?