One major problem with the process as asked is that the program needs to identify the barcode without user hinting in an arbitrary image. If the barcode is large with respect to the product in the frame, then you will probably have success. Open source libraries and binaries are available which can read e.g TIFF and return a string. (ZBar was one IIRC http://www.youtube.com/watch?v=rqzQb_HMYf8 )
I have tried this with flat items approx 36 inches square (and no budget) and the barcode size was so large that it crowded out the object in the frame.
I use a camera which is remotely actuated by a networked computer and the software used captures the image directly to a file server and has a text field for appending user text to an auto-naming scheme. I know for a fact that such software is available for professional Canon and Nikon cameras. (I don't want to turn this into an advertisement, so I won't mention product, but the canon-specific software I use I purchased a number of years ago for something on the order of 50$)
Since many barcode scanners can simulate keyboard input, perhaps the photographer can use a similar solution, and then you can introduce a process where you set focus to the field in the software, use a wand reader to swipe the code (entering the part number into the field), then place the item for the shoot. Coupled with an auto timestamp, you will have prenamed files already on the server and no longer have to "sneaker-net" the images off the camera card.
Added bonus is the photographer can view the image on a large monitor prior to moving the item off the set.
(some cameras come bundled with feature limited capture software, so the old standby of having the photographer capture them to disk and then have one of your own people rename them on the fly while the item code is known is going to be better than tackling the task of identifying and renaming 3000 of them later)