Hay otra solución para esto que no se menciona en ninguna de las otras respuestas (u otras preguntas respondidas):
Cualquier declaración como x in (1,2,3)
se puede reescribir como (1,x) in ((1,1), (1,2), (1,3))
y el límite de 1000 elementos ya no se aplicará. He probado con un índice en x
y el plan de explicación aún informa que Oracle está utilizando un predicado de acceso y un escaneo de rango.