IVM is great for pretty much any IVR system. You may however need to use a plug-in in order to connect your product database together with the caller's input.
The basic concept is, create an OGM that is in data entry mode. You can then configure the OGM for how the data should be accepted. Example: if the number of digits will be the same for each item, you could limit the number of digits to a certain amount so the user's input is automatically accepted when the full number is entered. Alternatively you could let the # key signal the end of the data entry. Other settings are also available such as limiting the accepted data values so if the caller enters an invalid/incorrectly formatted number, the caller is then told and asked to re-enter the item's number.
After the data entry is accepted, it should be stored to a variable (e.g. %calleritem%). The OGM should then take the user to another OGM which will determine what to do with the input (the value stored in %calleritem%). A plug-in could be used for example to cross-check a database and retrieve the next OGM the caller should be taken to (good for a small system with a limited number of items). Alternatively, the Database plug-in could retrieve information about the item and send that back to IVM as a variable, IVM could then be instructed to go to a new OGM which reads aloud the information using a TTS voice (or using a recording if you can adjust the plug-in to modify the OGM in real time with the new audio file).
If you have any further questions, please don't hesitate to ask. For new users, I recommend taking a look at the IVR and plug-in example files here for help on getting started:
http://www.nch.com.au/ivm/examples.html and http://www.nch.com.au/ivm/plugins.html