There are all kinds of software and system inventory software applications out there. Some run from the network. Others must be run on each system.
Most will tell you what version is on systems. I have not used one that lets you know if you have the latest version.
Pay close attention to the EULA on any free-ware out there. Many are not licensed for corporate use.
To help get you started:
http://www.steelsonic.com/si.htm
http://tinyurl.com/lkso7y
http://www.pxserver.com/
http://sourceforge.net/projects/winfingerprint/
There are many more.
As to what version is the latest for all of your software packages, it might make sense to start a database or spreadsheet of the allowed applications and current version.
Keep in mind that many companies choose to not run the latest version on a lot of software. At least not until the updates have been regression tested on at least critical applications.
Chas