If it is the case that you want ops to be able to type:
!AddBanList Aubs

and it stores their nick and address in the users list, then use:

Code:
on *:TEXT:*:#:{
  if ($nick !isop $chan) { Notice $nick you must be an operator to preform this command. | halt }
  if ($1 == !AddBanList) {
    if ($2 ison $chan) {
      mode $chan -o+b $address($nick,3)
      kick $chan $nick Blacklisted.
      /guser =100 $2 3 $nick
      ;The above adds someone to the userlist with level 100
      ;in the form *!*user@*.host
      ;with the info as the nick of the person who added them
      /ChanServ AKICK <nick/address> <reason>
      ;<reason> can be anything ot you can use $ulist to get
      ;the .info (person who added the nick
      ;Or what ever the command to add someone to chanserv's list (either by nick or address)
      halt
  }
  /auser -a =100 $2 $nick
  ;Can't get the users address, so use their nick.
  ;You should also get chanserv to add them to AKick
}


then have an on JOIN event that checks to see if the level of the joiner is in the list using:

$ulevel - Returns the user level that was matched for the currently triggered event.

Don't know if this is actually what you want, but hey ho!! - Hope it helps!


Aubs.
cool