El nodes.dat lo actualiza automáticamente el emule al funcionar, y lo guarda al salir del programa, como ya te han explicado más arriba. Sólo lo necesitas la primera vez que conectes a Kad, y ni eso si metes la IP de algún amigo que esté conectado.
Por supuesto, el nodes.dat no guarda todos los nodos, sólo una pequeña parte seleccionada de forma aleatoria. Cada fichero nodes.dat es diferente, y basta con que una sola IP de un nodes.dat siga siendo válida la siguiente vez que conectas, para que la mula genere automáticamente un nuevo nodes.dat actualizado, con todas las IPs válidas. Y si le metes a la mula una IP válida, lo mismo, como ya hemos dicho.
El nodes.dat lo puedes obtener de algún amigo que tenga el suyo razonablemente actualizado (con al menos una IP válida), o bien te lo creará automáticamente el emule si metes la IP de cualquier amigo que esté conectado en ese momento, lo puedes obtener de un servidor web, lo puedes obtener de otra red de pares, etc.
Obtener (o generar) el nodes.dat se puede hacer de muchas maneras, usar un servidor web, o cualquier otra clase de servidor, es sólo una de ellas. Lo mismo con la IP de alguien que esté conectado (basta con eso para que la mula te genere un nuevo nodes.dat perfectamente actualizado).
Para que un nodes.dat deje de ser válido han de dejar de ser válidas *todas* sus IPs. Eso no son minutos, sino semanas, y probablemente meses. Nótese que para aumentar el tiempo de validez de un nodes.dat basta con aumentar el número de nodos que contiene. El nodes.dat es un ficherito de 5 KB, si los creadores del emule se sintieran preocupados por el tiempo de validez de un nodes.dat, habrían hecho que fuese mucho más grande, con muchos más nodos.