Code:
alias -l hash.table {
  var %hash.table = HASHTABLENAME
  if (!$hget(%hash.table)) {
    hmake %hash.table
    if ($isfile(%hash.table)) {
      hload -n %hash.table %hash.table
    }
  }
  return %hash.table
}
;
on *:TEXT:!update & & & *:{
  if ($hfind($hash.table,$+($1,$chr(9),*),1,w).data) { var %item = $v1 }
  else { var %item = $+($ctime,$ticks,$rand(1000000,1999999)) }
  hadd $hash.table %item $+($2,$chr(9),$3,$chr(9),$4,$chr(9),$5)
  hsave -no $hash.table $hash.table
}

* code untested, if it dont work check back with me *

usage by clients to bot, !update nick data realname phonenumber
Nick well be updated, or added.
file well be updated to match table.

*** note the window NOTEPAD does not always open the file correctly, it cant detect LineFeeds as new lines, try opening the file in wordpad.