A UPC or other barcodes for the matter will bring in text with a reader. Therefore, when a scan is done it could fill in the data into a field and depending on the setup or the way that it is scripted, it could do a find for that UPC number.
This shouldnt be too hard to setup if oyu have the data. If you DONT have the data, you could use perhaps a web service to grab the data from someone else.
Beexwax has a web services plugin that makes it easy to interface with. http://www.beezwax.net/solutions/wsp
Another option would be to use some kind of web scraping through the web viewer.