In both Ruby and PHP (and I guess other languages as well) there are some utility methods that are called whenever a property is set. ( *instance_variable_set*
Yes, you may use the Decorator Design Pattern.
Not generally; a few options though;
Are you in a position to rewrite your class to implement an interface? If so, Unity's interface interceptor might give you what you need. If an interface is not an option then that link also documents Unity's type and instance interceptors.
Mocking frameworks can do this, as well as IoC libraries like Unity. The only other way to do such a thing would be to use IL-rewriting (as previously mentioned).
Not out of the box. You would need to insert code into each properties setter and getter, either manually or automatically using IL rewriting.
When you want to do it manually, you can't use automatic properties any more.
When you want to do it automatically, have a look at AOP.