Add additional upload field to Custom Header page

I just did something similar recently. Instead of putting it on the Custom Header page, you should be adding things to the Theme Customizer (new in 3.4). It’s just as easy and is a more standard way of adding new theme options.

In fact, just by having added the Custom Header, the Theme Customizer should be active on your theme already. When you click Customize, you should see the header options in there. To add a new section that allows custom logo upload, try something like this:

add_action( 'customize_register', 'themename_customize_register' );
function themename_customize_register($wp_customize) {

    $wp_customize->add_section( 'ignite_custom_logo', array(
        'title'          => 'Logo',
        'description'    => 'Display a custom logo?',
        'priority'       => 25,
    ) );

    $wp_customize->add_setting( 'custom_logo', array(
        'default'        => '',
    ) );

    $wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, 'custom_logo', array(
        'label'   => 'Custom logo',
        'section' => 'ignite_custom_logo',
        'settings'   => 'custom_logo',
    ) ) );
}

That code will give you a new box in the Theme Customizer, like so:

Theme Customizer logo upload