Setting a field to a value is easy if you have the script-runner addon (or you can write your own functions to provide it). You can bring in "value depends on reporter" there as well.
However. JIRA does not do field level security. You can't make a field read-only for some users and read/write for others, without either doing it in the workflow or installing the "field security" add on.
I'm not sure that I have understood your requirement though - I suspect that what you might be looking for is a field that is always read-only, but shows a value that depends on the reporter? If that is the case, then, again, the script-runner is your friend - you can create a scripted field to do exactly that.
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
We're bringing product updates and pro tips on teamwork to ten cities around the world.Save your spot