Others have shown how to create what you want using With (and that
technique is very important), but the type of function you are
creating here is also a good candidate for Piecewise:
f[x_] := Evaluate[Piecewise[Transpose[{Thread[x < Range[5]^2],
Range[5]}]]]
where I have put in the Evaluate so that the Piecewise function does
not have to be created each time f is called.
Information[f] shows you that the definition stored for f is now
f[x_]:=Piecewise[{{x<1,1},{x<4,2},{x<9,3},{x<16,4},{x<25,5}},0]
You could also use Table instead of the Thread and Transpose used
above:
f[x_]:=Evaluate[Piecewise[Table[{x<i^2,i},{i,5}]]]
gives the same result, and is probably easier to read.
Regards,
Derek