Podrías crear un sistema que consulte vía polling los cambios de estado de variables en localStorage.
También podrías estudiar un poco
postMessage, aunque tendrías los mismos problemas de referencia de ventanas.
La realidad es que para lo que estás buscando quizá te convenga más usar flash, con el objeto sharedObject, que permite la comunicación local entre ventanas del mismo u otro navegador. O directamente plantearte la creación de apps de escritorio con Adobe Air, por ejemplo.