Unfortunately a function like this does not exist at the moment. You can "fork" your app, meaning you can continue to work on different versions of your app; this works but has the downside that you can never install both apps on the same R3 instance.
But for this particular use case, I think another approach might even be better. You can build a base application, that contains all the common elements of your product catalog and then build 2 new apps on top of it. Then the 2 "child" applications extend the relations of the common base application with specific attributes / user interfaces.
This would have the benefit that you can add things to either the base (if both child applications need it) or to either child application if its specific. This is what we did with our
Asset Base and
Asset IT apps -
Asset Base contains general product information that every other asset app would need and then
Asset IT is one possible child app that builds on top of it.
Maybe this is a solution for your use case as well.