If I create a new field which will now replace previous fields, is it possible to hide this field so it can't be used going forwards without deleting it and all the data that has already been entered in it?
You could hide the field using a field configuration scheme.
Take a look here for more info :
Connect with like-minded Atlassian users at free events near you!Find a group
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no AUG chapters near you at the moment.Start an AUG