Hi,
I didnt't get the crux of your problem with p2 repos, but can clarify bi-directional references.
When you use <module> tag in "parent" pom, a unidirectional containment reference is created from "parent" to "child". It does not result in any configuration inheritance and is typically used to provide a single place to build the whole module from. When you use <parent> tag in child pom, a uni-directional inheritance reference is created from child to parent. This one makes a child inherit settings from parent and is typically used to avoid duplicating configuration in every module.
Take Eclipse Platform [1], for example. One first checks out eclipse.platform.releng.aggregator git repo and all its git submodules. The main pom.xml [2] mentions all other projects from git submodules using <module> tag. However, if you go into any of them and check their pom.xml, the parent is set to ../eclipse-platform-parent [3], which means they inherit settings from that project, and NOT from main pom.xml.
You can check this article for a more complicated example of parent-child and submodule relationships: [4]. I hope this example gives you an idea how to solve the issue with multiple parents... and before you ask it, Maven does not support composition of settings (HAS relationship), they can only be inherited (IS-A relationship).
[1]
http://wiki.eclipse.org/Platform-releng/Platform_Build#Building[2]
https://git.eclipse.org/c/platform/eclipse.platform.releng.aggregator.git/tree/pom.xml
[3]
https://git.eclipse.org/c/platform/eclipse.platform.common.git/tree/pom.xml[4]
http://books.sonatype.com/mvnref-book/reference/pom-relationships-sect-pom-best-practice.html