Moduleを使ってまとめれば、

genSeq[elms_, n_] :=
Module[
{f, g},
f[list_, elems_] := Map[Prepend[list, #] &, elems];
g[list_, elem_] := Flatten[Map[f[#, elem] &, list], 1];


genSeq[{0, 1}, 5]