The black&white part might be accomplish-able by using a custom http://www.creationkit.com/ImageSpace_Modifiers. I have never used it personally so this is where my help ends

Yeah, it's really easy with an imagespace modifier, there's a field called "saturation" in them, just set it to 0...
And where time is locked at a certain hour. ideas?
There is a global variable called gamehour, you could set it to the same thing repeatedly while you are in that area and time will not change. I do not know what effects this might have on other scripts that rely on knowing how many game hours or days have passed though, so be careful and do some testing before you decide to use it. I think if you just "freeze" the hour at the time it was when you entered and release it later, it should be fine. If you you set it to a specific time (like... 19:00, or something), you might cause problems since you would be skipping back or ahead, which could possibly trigger some other events that are not supposed to happen.