Hello,
I’ve never done something like this, but I think it might be implemented using ZOS-API.
I see in the documentation that the interface for working with lens catalogs is exposed. See “ZOSAPI.Tools.General.ILensCatalogs Interface Reference” in the ZOS-API help system. It would seem a bit complicated in that a search in many vendor catalogs -- and certainly in the ThorLabs catalog -- produces many hits for a particular EPD and focal length. These are often similar lenses with different tolerances, materials, and coatings. However, there is also a functionality in OpticStudio for creating custom lens catalogs. (Make Private Catalog) With some effort, you could create a private catalog having a set of lenses that would cover the requirements, and then access that programmatically.
There is also the possibility of not using a catalog search at all. You could, again with some effort, extract the prescriptions of a suitable collection of lenses and store these as data. ZOS-API could then be used to modify the lens inserting the appropriate surfaces and deleting the paraxial surface.
Both of these solutions assume the user interface is provided by some program, e.g. Python.