Well, you can treat the DataTemplate as the blueprint that is used to create your editor. At the point, when SelectTemplate is invoked, the editor is not yet created. Thus, you cannot modify the editor then (add the red highlighted border i.e). However, you can define two alternative templates: one with the highlighting and one without it. Then you can read the PropertyDefinition's SourceProperty CustomAttributes and decide which of the templates should be used. As for changes that will happen at runtime, you can "respect" them with DataBinding (i.e. bind the foreground to some property's value - when it changes, the foreground brush changes too). Please, be advised that as soon as the editor is loaded, RadPropertyGrid will assign its Item as the editor's DataContext.
Check out Telerik Analytics, the service which allows developers to discover app usage patterns, analyze user data, log exceptions, solve problems and profile application performance at run time. Watch the videos
and start improving your app based on facts, not hunches.