Can I make WordPress use a custom template for a child page

You can filter template_include and replace the single-community.php with a single-child-community.php.

Example

add_filter( 'template_include', function( $template ) {

    if ( ! is_singular() )
        return $template; // not single

    if ( 'communities' !== get_post_type() )
        return $template; // wrong post type

    if ( 0 === get_post()->post_parent )
        return $template; // not a child

    return locate_template( 'single-child-community.php' );
});