This works on 24.3, but on trunk all windows will be shown as "selected".

(setq-default 
 mode-line-format
 '(:eval (if (eq (frame-selected-window)
                 (selected-window))
             "selected"
             "not-selected")))

I don't know which behavior is correct, but being able to find which is the "really" selected window would be nice.