In order to do that you'd have to whois everyone in the channel, how about...

When a user joins if they're identified they get voiced if they aren't identified they are just a regular user. Have a timer between 20 and 30 minutes and kick the regular users?

I could try and do that if it appeals to you, but I'd generally avoid whoising everyone every 20-30 minutes this is fine depending on the amount of users in a channel.

Code:
On me:*:Join:#: {
  .timer 0 1200 check_nicks $chan
}

On @*:Join:#: {
  .enable #reg.nick
  set %reg.nick.f.reg $nick
  set %reg.nick.chan $chan
  whois $nick
  .timer 1 1 chk.reg
}

alias chk.reg {
  if ($var($+(%,reg.nick.,%reg.nick.f.reg),0)) {
    msg %reg.nick.chan %reg.nick.f.reg You're registered!
    if ($me isop %reg.nick.chan) mode $v2 +v %reg.nick.f.reg
  }
  else {
    msg %reg.nick.chan You have not registered.
  }
  unset %reg.nick.*
}
#reg.nick off
Raw 311:*:halt
Raw 307:*: {
  set $+(%,reg.nick.,$2)
  halt
}
Raw 319:*:halt
Raw 312:*:halt
Raw 309:*:halt
Raw 325:*:halt
Raw 317:*:halt
Raw 318:*: {
  .disable #reg.nick
  halt
}
#reg.nick end

alias check_nicks {
  if ($me isop $1) {
    var %x = 1
    while (%x <= $nick($1,0,r)) {
      kick $1 $nick($1,%x,r) You must be registered.
      inc %x
    }
  }
}


Give that a try, it's untested. Should work as soon as you re-join any channel.

-Andy