No se considere como SPAM, y aunque no sé como es que funciona el chat de facebook, te propongo una alternativa interesante.
La idea es que, en vez de que el cliente o navegador le pregunte al servidor ¿hay nuevos mensajes? cada X milisegundos, hagamos que sea el mismo servidor el que se lo pregunte indefinidamente, y una vez encuentre uno recien se lo envie al navegador, entonces el navegador le dice al servidor que continue preguntandose si hay hasta que encuentre oto mensaje nuevo. Esta es la idea general detrás de
chatino, un sencillo chat basado en php/ajax que consta de un unico archivo de 7kb!. En la página del autor (usuario reconocido de aquí del foro) hay más información sobre el proceso que se realiza para conseguir el interesante efecto "tipo chat" de esta aplicación.
Te puede interesar, dale una estudiada al código, que no es complejo!