Can you explain better what you are trying to achieve?
From what I understand:
- first application uses only one overlay statically loaded on the PL
- second application switches between two overlays
I don’t think Vivado is going to help you with this, if you already have the overlays and don’t want to combine them, this is a software/host-side issue.
You will have to create an application that combines the two you mentioned and arbitrage the usage of the PL loading and executing stuff from the right overlay. Or more simply put, you will have to implement the same mechanism of application two, but rather switch between 3 overlays instead of 2.
The two applications cannot exactly run in parallel PL-side, unless you do one thing (and in this case, Vivado absolutely supports it): reserve a static region of the PL for the first overlay, and dinamycally reconfigure the other region with the other two overlays of the second application. This means doing partial reconfiguration, which PYNQ supports (read here), but how to design partially reconfigurable overlays is outside of the PYNQ scope. You are better off asking on the official Xilinx forum if that’s what you want to do.
If I didn’t understand correctly, please try to provide more details.