HoldForm does not prevent evaluation
A few additional alternatives:
2^HoldForm /@ Range[0, 4]
Table[With[{i = i}, HoldForm[2^i]], {i, 0, 4}]
I believe this
Table[HoldForm[2^n]/.n->i,{i,0,4}]
gives you your result in the form you wish
Pure function work.
HoldForm[2^#] & /@ Range[0, 10]