Help: RFID and serLCD

SoftwareSerial RFID = SoftwareSerial(2, 2);

Do you have the TX pin of the RFID connected to the same Arduino pin as the RX pin? That's a most unusual way of doing things.

SoftwareSerial LCD = SoftwareSerial(0, 3);

Using the hardware serial pin for SoftwareSerial is a bad idea.

void loop()
{
  receiveRFIDCardInfo();
}

Why?

void receiveRFIDCardInfo()
{
  static byte data[4];
  static byte temp[14]; 
  byte len;
  static int i = 0;
  unsigned long currentId;
  if(RFID.available())
  {

Why are data and temp static? Why is i static?

Looks like you forgot to put RFID in listen mode.

          currentId = (unsigned long)data[0]*16777216 + (unsigned long)data[1]*65536 + (unsigned long)data[2]*256 + (unsigned long)data[3];

Bit shifting would be so much more efficient.

  if(dat >= 0x30 && dat <= 0x39)
  {
    return (dat - 0x30);
  }else if(dat >= 0x41 && dat <= 0x46)
  {
    return (dat - 55);
  }

What's with all the magic numbers? Why the mix of hex and decimal?