Have you tried using Session instead. This would be better than setting an expiration date on the ViewState, which can be changed by the user. Sessions have a default expiration of 20 minutes, but you can change this.
No, there is no watch time expiration function. But maybe you can set the datetime value to the viewstate variable, which you will check later for your own expiration logic.
Sounds like you need to use cookies (not like viewstate, but you can store data as well). You can force cookies to be deleted or set an expiration date, but you cannot do the same view state.