You're correct, we don't share child items between different parents. Numbered lists would be the way to do this, with property name set to another list with the child items in. E.g. (Where List1 is my parent, List2 is the numbered list with a list-formatted property pointing to List3)
First, a numbered list is the way to go. Second, as @Kat.Carvey stated, the Display Name should be formatted to another list, like Employee Flat. This way, you can have all of the metadata stored at the Employee Flat level, but be able to retrieve the data anywhere in the hierarchy. If it is "transactional" data, then you can do the exact same thing, having the data stored at the flat level.