Há outra solução alternativa para isso que não é mencionada em nenhuma das outras respostas (ou outras perguntas respondidas):
Qualquer declaração como
x in (1,2,3)
pode ser reescrito como (1,x) in ((1,1), (1,2), (1,3))
e o limite de 1.000 elementos não será mais aplicado. Eu testei com um índice em x
e o plano de explicação ainda informa que a Oracle está usando um predicado de acesso e varredura de intervalo.