if you reuse that set a lot, how about storing it in a table , and doing the join on db side ?
if it is large, it sometimes makes sense to create temp table just for single query (I use that sort of stuff for comparing with few M records).
But temp tables in that case have to be short lived, as they can't reuse space (no FSM in temporary table world I'm afraid, I hope it will be fixed at some stage tho).