GREP can search for more than one phrase "at once" (i.e., in one operation), like this:
-- the pipe | delimits the separate words. Then again, GREP Is Not Magic™. This --
... a list of 1000 catalogue numbers to search for ...
is a bit too much to copy-and-paste into the single Find What line. There is a limit of ten or twelve (or something) OR phrases you can use in GREP.
On the other hand: GREP is great at finding numbers. If all of your catalogue numbers obey some basic rule, for instance "all of them consist of 6 digits and there are no other numbers with exactly 6 digits", well, that we can probably work with.
Thanks for your replies - you've saved me copying and pasting each one individually into Find/Change