Zum Problem mit der Validität: Schau mir mal die Referenz der Funktion wp_list_pages() an, speziell den Parameter depth.
Die IDs sind mit WP-Bordmitteln leider nicht zu machen. Ein Plugin dafür ist mir auch nicht bekannt, möglicherweise gibts aber doch was.