length te devuelve undefined porque no es una propiedad del elemento. fijate que childNodes[i] devuelve el elemento. de modo que si quieres determinar cuantos nodos tiene dicho elemento, tienes que a su vez leer el childNode de ese elemento devuelto.
Código:
childNodes[i].childNodes;