Applying Function with SlotSequence and Lists
This gets the desired result:
(MyFunction @@ #1) @@ #2 & @@ {{1, 2, 3}, {4, 5, 6}}
(* MyFunction[1, 2, 3][4, 5, 6] *)
User Michel E2 has already given a good answer. An alternative is to use (hat tip to Kuba for their suggestion):
Fold[Apply, MyFunction, {{1, 2, 3}, {4, 5, 6}}]
which evaluates to the same expression.
I'm not sure what exactly your goal is, but note that the code above works for lists of arbitrary length:
Fold[Apply, MyFunction, {{1, 2, 3}, {4, 5, 6}, {7, 8}, {9}}]
(* MyFunction[1, 2, 3][4, 5, 6][7, 8][9] *)
For fun: in the case of two lists, you can also use pattern replacements:
{{1, 2, 3}, {4, 5, 6}} /. {{a__}, {b__}} -> MyFunction[a][b]
which yields, once again, the same output.