Okay, Serial.readBytes() returns the number of bytes read. Why does it have to be stored in a size_t object, instead of byte, int, word, etc.? Then, you add a NULL terminate character after the bytes have been buffered. Next, I can manipulate the char array (e.g. use atoi() and control a servo), according to your example. Does Serial.readBytes() halt your code? If it does, and it is not tolerable, I'll use PaulS's solution. There are many solutions to one problem; you probably know the most efficient one.
I have another alternate solution:
String in = "";
void setup(){
Serial.begin(9600);
}
void loop(){
for(byte i = 1; i <= Serial.available(); i++){
in += Serial.read();
}
if(in != ""){
Serial.println(in);
in = "";
}
}