Ok what I can do is sketch it out.

on 1 join
bot <notice> $nick welcome to the # please type !register in channel so I will recognize you when you return.
$nick !register
bot ? $nick please choose one of the following !1 !2 !3 ......
when the user chooses a message that fits that choice is sent and the user level is changed
and when they return they are greeted based on the level their choice assigned them
also there should be a piece of code that would work this way

if your status has changed and you wish to reregister type
!change

not sure the best way that should work but I guess it should make them a level 2 not 1 and a new message that says
please update me as to your current status and off the same options as before !1 !2 !3 !4.................
with one other diff
level twos are asked when ever they return to update
Thank you in advance