You can use $me to always be your own nick. The method that differs as little as possible from your method would be where %ip contains mainy addresses but you must /set the %ip variable elsewhere then have the event be like:
ON *:JOIN:#: {
if ($istok(%ip,$address($nick,2),32)) {
/msg $me <message-test>
var %a $findtok(%ip,$address($nick,2),1,32)
set -s %ip $deltok(%ip,%a,32)
}
}
You can remove the -s if you don't need to see how many IP remain in the list