Each different type of instants of what you ask for might be slightly different how you would need to go about it, but for your example i would use this.

Code:
on *:JOIN:#:{
  if ($nick  == *guest*) {
    .timer.kick. $+ $nick 1 1200 kick $chan $nick
    ;^ renamed the timer to Timer.kick.nickname
  }
}
;  
on *:NICK:{
  if ($timer(.kick. $+ $nick)) {
    .timer.kick. $+ $nick off
    ;^ on a nick change see if there is a timer by the name ,kick.nickname and if so delete the timer
  }
}


Techniclly I could have just dumped the $timer(.kick. $+ $nick) check all together, and on a nick change just done a .timer.kick. $+ $nick off since that would delete the timer if it existed or done nothing, but that wouldnt have shown you how you might test for a timer and take what action you needed, such as you might have wanted to do this

Code:
on *:NICK:{
  if ($timer(.kick. $+ $nick)) {
    .timer.kick. $+ $newnick 1 $timer(.kick. $+ $nick).secs $timer(.kick. $+ $nick).com
    .timer.kick. $+ $nick off
    ;^ once a guest there is no esacpe the kick, it creates a new one under the newnick and deletes the old one
  }
}