I am not sure it is the best approach to it here are some ideas.
when accessing the form/view, you could update the database or store the information in the application scope.
Then if all your controllers make sure they reset any 'locks' before redirecting to any pages.
You still need to deal with people hitting the back button, and one option might be to use AJAX (DWR is pretty easy to integrate). AJAX can make a request on the Unload event, with no callbacks needed to reset the 'lock' for current screen. If you do this then there should not need to have the controllers reset the locks but one can never be too careful.
Other precautions could be to make sure they are reset when the session times out (so you will need a listener). You could also make sure the pages are not cached (with http header) so if they click back the page has expired and they will probably stop doing it.
That being said I tend to agree that is probably the wrong medium for that type of functionality, but who can argue with requirements
On a side note I was wondering whether it is the view that should be locked or the record/data being presented in the view.
Reaching Zen a day at a time, or not...