While we don't sell barcode scanners, we do have one that we use for our internal component inventory.
Usually the scanners can read a variety of types of barcodes without the need to be programmed. A quick google turns up http://www.nationalbarcode.com/catalog/idtech/econoscan-ii.htm
as an example. Under the full specification document under "Symbologies" you can see the different types of codes that it can read. You just have to determine what kind of barcode your product has.
Most smartphones have a free app that can scan barcodes using the camera. The app normally also tells you what kind of barcode it has. So you can use this to determine the kind of barcode and which barcode scanner you need.
As for your initial question of whether they can be programmed, I would assume not. You would just have to buy the more expensive ones that can read all barcodes if you are expecting a whole slew of different barcode types.