You are right that “int” will not handle that size of a number and that’s why I use “int long”.
Just use "long", it is less confusing.
“delay (2)” doesn’t seem to make any noticeable difference when using Hyper Terminal to run the program, however when removed if I run the program viewing it through the serial monitor, no more than 1 digit of the new number I enter will be recognized.
The location of the delay() is why you see a difference, not its presence. Paul's point is there is no reason to wait right after checking Serial.available. You already have characters there. Instead of deleting it, move it to the end of the while() loop and you probably won't see a behavior change.
As for do you actually need the delay, the is probably a non-obvious reason why you see a difference. Hyperterminal sends characters as you type them. You're slow at typing, at least to the Arduino you are. Serial Monitor sends them one right after another, which is much faster than you.
You should really be detecting when you get a new line character or some other delimiter and not basing the receiving on time which will almost always vary.
Another issue that’s making me scratch my head is that I don’t want to have to have to enter a new ID number each time I select “I”. I’m having no luck trying to get if statements to function within my case. Any help would be appreciated.
You need to investigate state machines.