Although you have explained WHY you are wanting to compile a single pbl, I presume it is because you have made a change, but do not wish to perform a full build of the application.
We have our commercial application structured so that the first pbl in the library list contains ONLY the application object. The second pbl is normally empty and is deployed that way in most cases. If we need to make a change for a single customer, or don’t want to do a full build, we place the updated object(s) along with any impacted dependent objects in that second pbl, build the runtime library for that single pbl, and replace the normally empty pbd with the new one that contains the changes.
Since this pbl/pbd precedes all other libraries and objects (except for the application object), the changed objects are found/used instead of the original ones.
Hope this helps. Best regards, John