My attempt is the following:
ToSubscriptHoldForm[expr_?VectorQ] := Block[{asymb, asub},
asymb = Array[Subscript[ToExpression["a"], #] &, 2, 1];
asub = Array[Subscript[ToExpression["a"], #] &, 2, 1, HoldForm[Subscript]];
Which[Length[expr] === 1, expr, Length[expr] === 2, ReplaceAll[Thread[asymb -> expr]][asub], Length[expr] > 2, expr]]
Test:
list2 = ReleaseHold@Map[ToString, Map[Composition[ToSubscriptHoldForm, Level[#, {1}] &], list, {-2}], {-1}]

Go back to your list:
Map[ToExpression, Map[InputForm[#] &, list2], {-1}] === Map[InputForm[#] &, list]
(*True*)
Your list:
Map[ToExpression, Map[InputForm[#] &, list2], {-1}]

"\"" <> ToString[InputForm@#] <> "\"" & /@ list
? $\endgroup$ToString[InputForm[#]] & /@ list
$\endgroup$