One idea: use a portal directly from Parent to Grandchild, but set up a global field for filtering the portal with a value list of the Children.
If you set up the calc correctly, you will have a portal in the parent layout which shows only the Grandchildren records when you selected a Child for showing the Grandchildren.
You can set the filter calculation so that nothing appears until a Child name is selected.
On the Squid system
It has been reported that, while the anchor-bouy approach is easier to read and keep intelligible in a graph, having multiple disconnected TO-groups can slow some file processes.
I recommend using whatever is easiest for you to read, but try to avoid unconnected multiple groups. Hint: you can draw connections between multiple TOs of a Parent-like Table to be related by their primary Key in a sel- join to keep otherwise separate TO-groups connected. This will complicate your drop-down list of related tables, so be very clear in your TO naming convention so you can tell which is which from anywhere in the file.
I have set up one extra Portal on Customer only to show one flied of grandchild, This works well as is only a view portal.
The Prolem is how to add records to Child and to Grandchild using Customer KP and Child KP while preventing grandchild from making duplicates of assert names.
It's not clear what the problem is if your adding records via the portal. Please provide details of the portal setups and the problem(s) you are encountering.