Hi,
Based on my understanding of your scenario and the architecture you were using in your previous uploaded samples, where the controllers injected the corresponding views by raising events, I believe leaving the responsibility to activate the already existent views or injecting a new one if not present to the corresponding controllers seems like a reasonable approach.
In my opinion, for the views in the inner regions you could follow a similar approach like the one you mentioned for the customer views, from example when your customer controller injects or activate an specific customer view, you could raise another custom event for each type of the inner views required based on the search results. This way you could have a custom controller for each of those types that could handle these events. And based on the payload passed (corresponding scoped region manager and for example an orderID in which case this would be used by the orders controller), similarly like above, in the handler of the event you could iterate the existing views and decide to activate the corresponding view or inject a new one. Following this you should be able to use the sane approach for the different levels of your composite views.
Take into account that how to implement this will depend mostly on your personal preferences and the requirements of your scenario, In my opinion to achieve this kind of scenarios you will need to design a highly structured architecture to support the deeper regions, which could be based on the one you used in your samples.
Best regards,
Agustin Adami
http://blogs.southworks.net/aadami