1) Use /whois, /who, /userhost or /userip
2) Use double digit colour codes (Eg: ^k03 instead of ^k3).
3) I don't understand what you're asking.
4)
On join also fires when you join a channel.
Two ways:
on me:*:join:#:{ dostuff }
on *:join:#:{
if ($nick == $me) { dostuff }
}