We have a requirement to see positions across multiple portfolios. And these portfolios may not have a single parent portfolio. Is it possible to do so in OG? if not then how difficult you think would be modify the code? Is the single portfolio assumption deeply ingrained in all calculations?
The database data model allows a position to be in multiple portfolios. Each portfolio may also be structured into a tree of portfolio nodes. Hopefully those two things address your requirements.
And how to set different curves for different portfolio? Seems OG only support one portfolio with one set of curves.
Curve details are independent of the portfolio - these are configured through the ViewDefinition where the outputs you request can be constrained to use particular named curves.