1m UHF rfid

Looking at getting this http://store.linksprite.com/cottonwood-long-range-uhf-rfid-reader-uart-iso18000-6c-epc-g2/.

I got a id20la to work but it is to slow and doesn't read from far enough. Will I be able to buy this uhf reader and tags and just replace it or will I have to rewrite the program?

Or if anyone has any ideas on what I need to get an RFID reader that will work the arduino that would be great. Would like to keep it under $200. All it needs to do is read tags.

I don't know, but I think you must need to rewrite the program.
The code in the wiki page it seems very straightforward:

/*
 
  The circuit:
 * LCD RS pin to digital pin 12
 * LCD Enable pin to digital pin 11
 * LCD D4 pin to digital pin 5
 * LCD D5 pin to digital pin 4
 * LCD D6 pin to digital pin 3
 * LCD D7 pin to digital pin 2
 * LCD R/W pin to ground
 * 10K resistor:
 * ends to +5V and ground
 * wiper to LCD VO pin (pin 3)
 
*/ 
// include the library code:
#include <LiquidCrystal.h>
#define BUFFSIZ 90
 
//RFID parser
char buffer_RFID[BUFFSIZ];
char buffidx_RFID;
char response_str[64];
 
char command_scantag[]={0x31,0x03,0x01};//const
 
unsigned char  incomingByte;
 
unsigned char parsed_okay=0;
 
unsigned char tag_found_number;
 
unsigned int bytecount=0;
 
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
 
void setup(){
 
  parsed_okay=0;
 
  // set up the LCD's number of columns and rows: 
  lcd.begin(16, 2);
  // Print a message to the LCD.
  lcd.print("Xbee UHFRFID Reader");
 
  Serial.begin(9600);
  Serial1.begin(115200);
 
  Serial.println("Test Xbee Connection");
 
}
 
void loop() 
{
 
 
 
  while(Serial.available())
  {
    incomingByte = Serial.read();
 
    if(incomingByte='r') {
      Serial1.print(command_scantag);
      parsed_okay=0;
    }
  }
 
  while(Serial1.available())
  {
    incomingByte = Serial1.read();
    Serial.print(incomingByte);
 
    if(incomingByte==0x32 && parsed_okay==0) {
      bytecount=0;
      parsed_okay=1;
    }
 
    bytecount++;
 
    if(bytecount==3) {
       lcd.clear();    
       lcd.print(incomingByte, DEC);
    }
  }

I don't know if in a real application will be so easy.