Yes, the timeout will let the program move on if the wait character is not seem. With out the time out, the program could "wait" forever.

Depending on what you are doing you could decrease the timeout and check often, or use interrupts.

Or to maybe speed things up-- wait for "X" and write "address" value to a VAR(doing that already).

Then have some if / thens / else deciding what to do. This way the serial transmissions are short.
Kind of like you said but the long string is not needed.

Sorry if I am confusing things