I was just pondering a relatively simple way to do this. If tabstops were allowed in channel windows, then scripts could easily align (and realign) the nick vs msg by changing the first tabstop. This would be handy because the length of the longest nickname changes throughout the chat session, so your display would move back and forth relative to each other rather than as a whole. Example:
Without tabstops:
<MyNick> My text is aligned here.
<YourNick> My text is also aligned here.
Joins: VeryLongNickname
<VeryLongNickname> Now my text is aligned here.
<MyNick> My text is aligned here now too.
With tabstops:
<MyNick> My text is aligned here.
<YourNick> My text is also aligned here.
Joins: VeryLongNickname
<VeryLongNickname> Now my text is aligned here.
<MyNick> My text is aligned here now too.
The text that was previously aligned for the old longest nick (YourNick) was moved to compensate for the new longest nick (VeryLongNickname). It would be up to users whether they wanted the alignment to move back when VeryLongNickname parted the channel (covering part of that nickname) or leave the alignment wide for the length of the chat session, or possibly have the alignment change based on the widest nickname visible on the chat window.
Technically, all of those option could be added as options in mIRC, in addition to being scriptable.
-genius_at_work