Hola furoya:
Como siempre, haciendo cosas interesantes...
Supongo que ya habrás visto el inspector DOM que hice hace algún tiempo:
http://www.pepemolina.com/DOM/index.html (en la misma carpeta del destripador)...
De la primera pregunta poco podría ayudarte, pero algo he tratado el tema de los nodos... Lo que pasa con los nodos vacíos, es que pueden tratarse de espacios en blanco o retornos de carro... te lo digo, porque con mozilla se generan ese tipo de nodos al tener 2 tags separados por un retorno de carro o un espacio en blanco (me pareció extraño ver que del nodo raiz de un documento colgaran tres hijos... document.documentElement.childNodes.length == 3... siendo el intermedio la separación entre </head> y <body>... creo que todos ponemos esos tags en diferentes líneas...
Para diferenciarlo, me parece que se debe consultar el noreType... nodeType == 1 => es etiqueta... hay tipo para comentarios y otros para texto...
Espero que te sirva.
Saludos