I also mention that Hazel can be used to LOCK a state. This means that when you open the application it will be in the same state every time. First, set the application that you'd like to "freeze" and quit the application. Quitting will force Lion to update the saved state in the ~/Library/Saved Application States/ folder. Then, navigate in finder to that directory copy the appropriate saved state and append -HazelCache to the end of the application's duplicated saved state folder.
(*) Setup your app, quit, and copy the cache file
(1) Add ~/Library/Saved Application States/ as a watch folder
(2) If name is com.whatever.applicationname.savedstate then delete file and run shell script.
(3) Set shell script to /bin/cp ~/Library/Saved\ Application\ States\com.whatever.applicationname.savedState-HazelCache ~/Library/Saved\ Application\ States\com.whatever.applicationname.savedState
Basically, every time Lion creates a new saved state for the application, hazel will overwrite it with a different saved state.
NOTE: In this current VERY BASIC implementation, Hazel will loop (because it creates the file that it's looking for). I'm not using this, but showing that's its possible. If you're going to use this hint, I'd suggest setting a flag to prevent the looping.