Array inside an Array? Checking rfid tags.

Hi,
I am using the RFIDuino shield from trossenrobotics.com. The sample code in the rfiduino library shows how to record an rfid tag’s data and then check it to see if it is the same as “keytag”. The problem I am encountering is how to get it to check against multiple keytags. In other words, there is only one rfid tag that opens the lock, but I am trying to make multiple rfid tags work. Here is the code:

 * RFIDuino Project 2
 *
 * This Project is designed to look
 * for a 'key' RFID tag. When this tag is scanned,
 * digital pin 9 will go 'high'. This will activate 
 * a relay, which in turn will activate a solenoid.
 * A green light will aslo flash, and three notes will 
 * play.
 *
 * If a tag that is not the 'key' tag is present,
 * a red light is flashed and an 'error' sound is played.
 * The solenoid will remain inactive. 
********************************************************/


#include <RFIDuino.h> //include the RFIDuino Library

//Define the pins for our outputs
#define   R_LED   3              //the Red LED on the RFIDuino shield
#define   G_LED  2               //the Green LED on the RFIDuino shield
#define   BUZZER 5               //the Buzzer on the RFIDuino shield
#define   RELAY 9               //the Buzzer on the RFIDuino shield
#define   OPEN_TIME 500         //the time (in milliseconds) that the solenoid will be activated for

byte tagData[5];                   //Holds the ID numbers from the tag
byte tagDataBuffer[5];             //A Buffer for verifying the tag data
byte keyTag[5] ={255,0,55,181,15};  //an array that will hold all of our 'key tags'. Key tags are treated differently from other tags read
int readCount = 0;                 //the number of times a tag has been read  
boolean verifyRead = false;        //true when a tag's ID matches a previous read, false otherwise
boolean tagCheck = false;          //true when a tag has been read, false otherwise
boolean verifyKey = false;         //true when a verified tag has been determined to match the key tag, false otherwise

RFIDuino myrfid;   //initialize an RFIDuino object 
  
void setup()
{
  //Set LEDs and buzzer pins to ouput pin mode
  pinMode(R_LED,OUTPUT);
  pinMode(G_LED,OUTPUT);
  pinMode(BUZZER,OUTPUT);
  pinMode(RELAY,OUTPUT);
   Serial.begin(9600);
  
  //Set the output pins LOW to ensure that they are all 'off' on startup
  digitalWrite(R_LED, LOW);
  digitalWrite(G_LED, LOW);
  digitalWrite(BUZZER, LOW);
}

void loop()
{   
  
    tagCheck = myrfid.decodeTag(tagData); //run the decodetag to check for the tag  
    if (tagCheck==true)   //if a 'true' is returned from the decodetag function, a tag was succesffuly scanned 
    { 
      readCount++;      //increase count since we've seen a tag
            
      if(readCount==1)//if have read a tag only one time, proceed
      {
        myrfid.transferToBuffer(tagData, tagDataBuffer);  //place the data from the current tag read into the buffer for the next read
    
    }
       
      else if(readCount==2)//if we see a tag a second time, proceed
      {
        verifyRead = myrfid.compareTagData(tagData, tagDataBuffer); //run the comparetagData function to compare the data in the buffer (the last read) with the data from the current read
        if (verifyRead == true)  //if a 'true' is returned by comparetagData, the current read matches the last read
        {
          
          verifyKey = myrfid.compareTagData(tagData, keyTag);//run the comparetagData to check the tag just read against the 'key' tag we defined.
          if(verifyKey == true)//if a 'true' is returned by comparetagData, the current read is a key tag
          {                       
            digitalWrite(G_LED,HIGH);          //turn green LED on
            digitalWrite(RELAY,HIGH);           //turn relay/solenoid on
            myrfid.successSound(BUZZER);       //Play a 'success' sound from the buzzer, 3 notes acsending 
            delay(OPEN_TIME);                        //the amount of time that the solenoid will remain open for
            digitalWrite(RELAY,LOW);           //turn the relay/solenoid off
            digitalWrite(G_LED,LOW);          //turn the green LED off
           Serial.print("Access Granted.RFID Tag ID:");
           for(int n=0;n<5;n++)
           {
             Serial.print(tagData[n],DEC);
             if(n<4)//only print the comma on the first 4 nunbers
             {
               Serial.print(",");
             }
           }
           Serial.print("\n\r");//return character for next line
          }
        
          else//otherwise the tag is not a key tag
          {        
            digitalWrite(R_LED,HIGH);  //turn red LED on
            myrfid.errorSound(BUZZER); //Play a 'erro' sound from the buzzer, 3 notes acsending 
            delay(OPEN_TIME);                //the amount of time led will remain on
            digitalWrite(R_LED,LOW);   //turn the red LED off  
         Serial.print("Access Denied.RFID Tag ID:");
           for(int n=0;n<5;n++)
           {
             Serial.print(tagData[n],DEC);
             if(n<4)//only print the comma on the first 4 nunbers
             {
               Serial.print(",");
             }
           }
           Serial.print("\n\r");//return character for next line
          }
          }
        
        readCount=0;//because a tag has been  read twice, reset the readCount to '0' for the next tag
      }        
    }     
   
  }       
//end loop()

Can I put the array (the rfid key tag’s data) into another array in order to check incoming rfid data to see whether it is a “key”. If so, how?
I have been working on this for 3 days now and also had some friends take a shot at it, but to no avail. A little help?

What, like a two dimensional array?

Is that keyTag array only holding a single id?

byte keyTag[3][5] ={
    {255,0,55,181,15},
    {255,0,55,181,15},
    {255,0,55,181,15}
};
// those are all the same because I'm lazy

It's an array of arrays