The solution consists of two methods: Cellmapping#for_multi_cells_full will create the target structure and prepare a mapping table and Layout#copy_tree_shapes will copy the shapes.
There is no direct call point for this. But there is some discussion about how to manipulate layer lists in Python safely: https://www.klayout.de/forum/discussion/comment/5919#Comment_5919