If you are on-premise, you could use a database trigger to verify if the value has been used. SaaS, don't believe it can be done for a 'unique string' attribute.
You could write a portlet to identify when non-unique it has occurred, and manually update one of the records.
You could also consider using the PRID on PRTASK (aka the 5,000,000) which is already unique.
It just depends on what you are attempting to resolve in having a 'unique string field'.