Can Excel use formula-input data for cell references?

The first part of your question can be solved by using the INDIRECT function. If cell A3 contains this formula =INDIRECT(A4) then it will return the value of the cell specified in A4.

You could put a formula like this =A5&"!A1" together in cell A7 and then use an INDIRECT statement to reference A7. This would allow you to change only the sheet name in A5 but it would update the entire formula reference in whatever cell you had it in.