For (1) I would add a Group to those “children” that have the same “parent” and no other links. The Group.layout would do whatever you wanted, just on its members, the “children”.
I don’t understand the situation in (2). Did you intend to have duplicate nodes? If not, check what node data objects you added to the Model.nodeDataArray.