Du sa att du inte vill, men:använd ett tillfälligt bord. Det är den korrekta lösningen här.
Frågeanalys är dyrt i Oracle, och det är vad du kommer att få när du lägger tusentals identifierare i en gigantisk klick SQL. Det finns också illa definierade gränser på frågelängden som du kommer att träffa. Att göra en anti-JOIN mot ett bord, å andra sidan... Oracle är bra på det. Massladdar data till en tabell, Oracle är bra på det också. Använd en temptabell.
Begränsande IN
till tusen poster är en förnuftskontroll. Det faktum att du slår den betyder att du försöker göra något galet.