Se você está tendo que passar 1000 valores, não importa 100.000 valores, isso provavelmente significa que você tem um problema no design de suas consultas. Os dados têm que vir de algum lugar, se forem do banco de dados, seria uma questão simples usar uma junção ou uma subconsulta. Se for de uma fonte externa, pode entrar em uma tabela temporária.
resumindo:sim, uma tabela temporária ou permanente é melhor