Hi coolguy, it looks like the posts above were discussing sending 16 bit values as two binary bytes rather than as strings.
The functionality to convert numbers back and forth as serial strings needs to be handled with care on both the sending and receiving side to ensure that the transmissions remain in sync. Using time delays to ensure that all chars are available can cause bugs if one side or the other happens to be busy with higher priority tasks and delays sending the data.
IMHO, the functionality to do this is useful, but is application dependent and should sit above the core serial library.
BTW, a powerful way of handling binary data on a serial stream is through a serialization class. If you are interested in this topic, an FAQ that covers this is here: Serialization and Unserialization, C++ FAQ
Mellis, I like the low level functionality you proposed
low = lowByte(w)
high = highByte(w)
w = makeWord(high, low)
I would expect this would allow a 16 bit value to be returned as follows:
w = makeWord(Serial.read(),Serial.read()) ;