Hi

Updated for what you need.

Where it says NICKNAME change this to your IRC nickname and it will only let you use the commands. The only worry with this is that if you leave the network someone can then change there nick to the nick you use and will have access.

I can make it so it will read your name and hostmark but I would need to add another feature to the script if you want me too?

I have made it so only ops can use the !showid command

Code:
on *:Text:*:#CHANNEL: {
  if ($1 == !AddID) && ($nick == NICKNAME) {
     if ($2 == $null) { .notice $nick Command incomplete. Syntax: !AddID <ID Number> <Reason> | halt }
    if ($2 !== $null) {
      if ($nick !isop $chan) { .notice $nick you must be opped to use this commands | halt }
      if ($readini(IDList.ini, $2, Reason) !== $null) { .notice $nick ID Number $2 has already created with reason  $readini(IDList.ini, $2, Reason). | halt }
      else { 
        writeini -n IDList.ini $2 ID $2 
        writeini -n IDList.ini $2 Reason $3-
        .notice $nick Added $2 - $3- 
      }
    }
  }
  if ($1 == !DelID) && ($nick == NICKNAME) {
    if ($2 == $null) { .notice $nick Command incomplete. Syntax: DelID <ID Number>. | halt }
    if ($2 !== $null) {
      if ($nick !isop $chan) { .notice $nick you must be opped to use this commands | halt }
      if ($readini(IDList.ini, $2, ID) == $null) { .notice $nick ID $2 is not in the ID list | halt }
      else {
        .remini IDList.ini $2
        .notice $nick ID $2 has been removed from the ID list.

      }
    }
  }
  if ($1 == !ShowID) {
    if ($2 == $null) { .notice $nick Command incomplete. Syntax: !ShowID <ID Number>.  | halt }
    if ($2 !== $null) {
      if ($nick !isop $chan) { .notice $nick you must be opped to use this commands | halt }
      if ($readini(IDList.ini, $2, ID) == $null) { .notice $nick ID $2 is not in the ID list | halt }
      if ($readini(IDList.ini, $2, ID) !== $null) { .notice $nick ID $2 - $readini(IDList.ini, $2, Reason) | halt }
    }
  }
}