Well, right off the head, this can be accomplished with a two step method. Stay with me.
A column that holds the UNIQUE number, along with another column that keeps track of whether or not the first colum has a vlaue in it, and upon a value being placed in the first column, does not recalculate. Try to imagine:
Column A hold boolean (y/n)
Column B hold unique value.
Column C holds the actual data.
If column A is set to N (default), which in this case means "NOT LOCKED", then a unique number is generated!
Once a value is set for C, then A should be changed to Y, and no other unique number will be generated in B, unless you manually set A to "N".
Just one VERY simple way of locking the values in!