k times Fold with 3 changing extra variables

Does it fit your needs?

aa = Array[a, 5];
bb = Array[b, 5];
cc = Array[c, 5];

Fold[f[Sequence @@ #2, #] &, fstart, Transpose@{aa, bb, cc}]
   f[ 
     a[5], b[5], c[5], 
     f[ a[4], b[4], c[4], 
        f[ a[3], b[3], c[3], 
           f[ a[2], b[2], c[2], 
              f[ a[1], b[1], c[1], 
                 fstart
              ]
            ]
         ]
      ]
    ]

Alternatively, you can use Indexed and Fold over the indices:

Fold[
  f[Indexed[a, #2], Indexed[b, #2], Indexed[c, #2], #1] &,
  start, 
  Range[4]
]

Out[] = f[Indexed[a, {4}], Indexed[b, {4}], Indexed[c, {4}], 
 f[Indexed[a, {3}], Indexed[b, {3}], Indexed[c, {3}], 
  f[Indexed[a, {2}], Indexed[b, {2}], Indexed[c, {2}], 
   f[Indexed[a, {1}], Indexed[b, {1}], Indexed[c, {1}], start]]]]

abc = {a, b, c};
k = 5;

Fold[f[## & @@ Through@abc@#2, #] &, fstart, Range @ k]

f[a[5], b[5], c[5], f[a[4], b[4], c[4], f[a[3], b[3], c[3], f[a[2], b[2], c[2], f[a[1], b[1], c[1], fstart]]]]]

Make it a function with 4 arguments:

ClearAll[fOLD]
fOLD[f_, lst_, strt_, k_] := Fold[f[## & @@ Through@lst@#2, #] &, strt, Range@k];

Examples:

fOLD[f, {a, b, c}, fstart, 5]

same result

fOLD[g, {x, y, z, w}, u0, 3]

g[x[3], y[3], z[3], w[3], g[x[2], y[2], z[2], w[2], g[x[1], y[1], z[1], w[1], u0]]]