Make 2 different WooCommerce checkout pages?

If you want to make sure a user can only buy one product at a time, you need to disable shopping after a user has bought a product: otherwise a user could press ‘back’, and add the other product to the cart.

That said, you could try changing the checkout fields conditionally by putting this in functions.php:

add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );

function custom_override_checkout_fields( $fields ) {
    global $woocommerce;

    //assuming only one product in cart
    foreach ( $woocommerce->cart->get_cart() as $cart_item_key => $values ) {
        $_product = $values['data'];
    }

    switch ($_product->id) {
        case '666': //product id for product 1
            //do stuff with the checkout fields
            break;
        case '999': //product id for product 2
            //do stuff with the checkout fields
            break;
    }

    return $fields;
}

take a look at this tutorial for more info about changing checkout fields.