This is what I have used in a few projects that always displays the children pages even if you’re are viewing a child page. See if this is what you had in mind
<?php
if(!$post->post_parent){
// will display the subpages of this top level page
$children = wp_list_pages("title_li=&child_of=".$post->ID."&echo=0");
$ancestors = $post->ID;
}else{
// diplays only the subpages of parent level
//$children = wp_list_pages("title_li=&child_of=".$post->post_parent."&echo=0");
if($post->ancestors){
// now you can get the the top ID of this page
// wp is putting the ids DESC, thats why the top level ID is the last one
$ancestors = end(get_post_ancestors( $post->ID ));
$children = wp_list_pages("title_li=&child_of=".$ancestors."&echo=0");
// you will always get the whole subpages list
}
}
if ($children) { ?>
<div class="feature-box">
<div class="feature-title">Related Links</div>
<div class="subnav subnav-parent-<?php echo $ancestors; ?>">
<ul>
<?php echo $children; ?>
</ul>
</div>
</div>
<?php } ?>