Is it possible to use some Salesforce API to retrieve list of all subscribers and the version of you managed package installed. For example, there is a SUBSCRIBERS tab in Licence Management application and you can use it to see all the installations of your managed package with exact version installed (and some other information like current Limits, customer's org info, etc). Is there a way to access this info programmaticaly? Say, can I write script (using API) or create a report with list of all managed package installations with version numbers and customer's org id?
This managed package application (namespace sfLma) includes conventional SObjects that you can access programmatically and see in the normal setup UI or in the Schema Builder:
So you can write Apex and SOQL that accesses these objects to achieve your goal. I also see the LMA objects in the report types so assume that you can create reports using them too. Essentially you can customise much like you might any other application in an org.
(Note that detail of the subscriber org is not visible and is limited to just the ID value in the "Subscriber Org ID" field of the "Licence" object.)