I want to get a list of software that computers on our network are using. Can I use Patch Mgr to do that?
Absolutely. Provided you've configured a managed computer inventory against your clients, there's a stock report called "Installed Programs and Features Basic" that pulls all installed software. This report can be located in Administration and Reporting > Reporting > Configuration Management Reports > Installed Programs and Features. Here's a KB article that goes over configuring inventory tasks.
Also can we use Patch Mgr to prevent users from installing software that is not on a safe list?
Not directly. One way you might handle this is to modify the same report mentioned above to filter for specific software, and schedule this report to email every day if the export contains results. Then you can inform them that they are running unauthorized software.
Yes, you can inventory. I run an inventory task once a week in our environment.