actualmente la única forma de implementar un sistema de eventos como lo indicas es lo mas parecido a un chat...
al menos si lo piensas realizar con php, html y javascript...
de hecho, ya has dado con la idea, un script debe verificar algún estado en el servidor, pero eso no necesariamente debe tirarte el servidor...
vamos... que al fin y al cabo, es como si cada cliente obtuviera el mismo archivo todo el tiempo, si implementas algún sistema de cache en el servidor esto se vería agilizado mucho, etc, etc...