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.