confused about wp_list_pages() function – how to display selected top pages with all their subpages

When you use include parameter of wp_list_pages you are basically telling it to only include these certain Pages in the list.

you should use exclude_tree instead, when using this parameter it will exclude a parent and all of that parent’s child Pages.

so something like:

$top_pages_to_exclude="1"; // the top page to be excluded ID, you can specify more then one '1,2,23'

$args = array(
    'sort_column' => 'menu_order',
    'depth' => 2,
    'title_li' => '',
    'exclude_tree' => $top_pages_to_exclude
);
wp_list_pages( $args );