the decoration is done in the renderSet. There is no interceptor stack for this. The LayoutStrategyInterceptor handles the layout strategy (as the name implies :) ;
The strategy is something you might be able to use for the other feature you are mentioning here: it is called when the portal, page, and portlets that need to be rendered are determined. The strategy can change some of the artifacts that are about to be rendered. You can ommit portlets, you can switch to another layout (JSP) , etc. To make such a decission in the strategy, it allows access to the portlet modes and window states.
To my knowledge, the portlet can not determine at runtime how it is decorated. What you could do is inject another css file, or change the class attributes in the rendered portlet fragment. This would allow you to change the look and feel via css, based on what the portlet renders.