Access for adding subpages but not for pages

wp_list_pages simply lists pages. It isn’t a menu and doesn’t use the navigation menu APIs. For what you want you’d need to do several queries to find the subpages of those page IDs, so in your case 4 queries, and you’d need to do 4 wp_list_pages calls, and a manual query to get the top level pages. This will not be fast, and is wasteful, kludgey, and a bad idea.

So instead you should be using wp_nav_menu. Use a standard nav menu, if your client modifies this then charge them to put it back ( serves them right, they were warned, but it is their site, and they paid for it, so why shouldn’t they be able to? ).

With a standard nav menu you can add non-page items, rearrange items, and submenu items don’t have to follow the page structure.