What changes are needed for this conditional code to work on deeper levels?

looks like you were close. Can you try reversing your post parent statement?

'2704' == $post->post_parent 

should be

 ($post->post_parent == '2704')

Notice i put it in parentheses as well.

so your code would be:

    <li<?php if ( is_page('channels') || ($post->post_parent == '2704') ) { 
    echo " class=\"current\""; } // the page is 'channels', or the parent of the page is 'channels'?>>
<a href="https://wordpress.stackexchange.com/programs/channels/">Channels</a>
</li>