Hello,
I can write a PHP script for you that would read the product numbers from your spreadsheet and then go through the folder with your images and copy only the images with those product numbers found in a separate folder and optionally, log the product numbers for which no images were found.
I'll need just the spreadsheet and some information about how the PSD files are stored (if they're in multiple folders, if the product numbers are written in a specific way in the file names etc.. )
Alternatively, if you want to keep things simple, you can make an archive of the 20k images and send it to me along with the spreadsheet and I'll separate the images and send them back to you.
I can provide a safe location to upload files to (a secure FTP account on my own rented dedicated server), I can keep things confidential and I'm even willing to sign a NDA form if you're concerned about it.