for lots of ASCII key characters, I run it through [sprintf %c]. this way your select statement can be [sel a b c d e] etc. instead of ASCII numbers, more intuitive.
note that non-printing characters like space, tab, enter etc. won't print out from the sprintf, it's only for letters/numbers/symbols. but [sel 13 9 8] will react to Enter, Tab, Backspace, for example.
yep, select is basically a multiple "if" statement, or a "switch" statement. I don't see or use the [if] statement in Max very much, but sometimes it helps for certain things.