It appears that you are using the serial port to talk to the XBee and to the PC. That won't work when you are trying to communicate with the XBees in command mode.
Serial.print("+++");
Serial.println("\r\nATID"); // ID
The +++ puts the XBee in command mode. ATID would then get information from it. \r\nAT is crap that the XBee won't understand.
The XBee, if it gets the right command, will reply with more than one byte of data. You are only saving the last character that it responds with.
Knowing something about the XBee would be useful. What type is it, and how have you configured it?
Knowing something about how the XBee is connected to the Arduino would be useful.
Knowing whether you are referring to pin 7 of the XBee or pin7 of the Arduino would be useful, too.