I think you might be able to make a modified program object which would copy the file name used when opening a program to a central "recently opened" list. The fully qualified file name should be sufficient since the file type would link it to the application. It would probably work with files dropped on the program object, specified as a argument on the Program page, or when double clicking on a file in a folder. That wouldn't be that difficult to do. The problem is it would only work when using the WPS to open an app - meaning it would not pick up files opened from the File menu inside the app. It probably would also not pick up files dropped on an already open application window (as opposed to files dropped on the Program object).
I did a little of this as a way of making long file names work with Win-OS2 apps. You can make it work when going through the WPS but not when going through the app itself unless you have a way of hooking into the File open feature of an application. You MIGHT be able to do that if you provided a modified File Open dialog (such as FOC) that would copy the file(s) specified to the central list.
After thinking a minute more - instead of copying the file name to a "central list" what should happen is a shadow is created of the file in a ROD folder. That way if the file is renamed or moved the "list" would still be accurate due to the magic of the WPS and shadows.
Listing the recently opened docs would then be simply opening the folder containing the shadows - and double clicking on the shadow would start the app.
I don't know if you can make shadows of file system objects stored on media that doesn't support EAs. If the shadow is stored in OS2.INI then you probably can.