GDB2 wouldn't be the size of each map but rather the sum of the sizes of all the maps before it.
So instead of Data(56,42 ...)->GDB2 you would have Data(0,56,98 ...)->GDB2. 98 is 56+42, of course.
To map L indexed from 1 you would then use
1
| Copy(GDB1+{L+GDB2-1},L1,{L+GDB2}-{L+GDB2-1}) |
Note that you'd have to add to the end of GDB2 an extra entry that is the sum of the sizes of all the maps.
You could use your method too, but L should be L-1 in both places where it appears. It will also be somewhat slower

1 2 3 4 5
| 0->A For(I,1,L A+{I+GDB2-1}->A End Copy(A+GDB1,L1,{L+GDB2-1}) |
This is the fixed version of yours.
What do you mean by "How to access at the different case of L1. Like GDB?"
Edit: You can use TI-Graph Link, you just need to know to use conj( instead of Copy(, expr( instead of Exch(, and so on.