select is never "ideal". There are a few cases where it's required (namely, dealing with an argument list of unknown length), anything else is purely a matter of readability.
I would definitely do this, for example:
Code:
if select(10, returnStuff()) then
rather than
Code:
local _, _, _, _, _, _, _, _, _, x = returnStuff()
if x then
unless you're going to be calling it very frequently.