Вариантов реализации может быть несколько. Разница будет в том, какие хуки вы будете использовать. И для каких товаров, простых или вариативных.
По дефолту цена у вас одна, и в карточке товара поле для цены одно. В нем вы  храните цену в  "родной" валюте. 
Поэтому, в целом, вам нужно:
Для хранения второй цены добавить "кастомный" input в карточку товара в админке (тоже самое для  третьей цены, четвертой и т.д.). Это можно сделать с помощью хука 
woocommerce_product_options_general_product_data, также, можно попробовать хук 
save_post. 
Нужно добавить сохранение нового поля в БД - для этого подойдет хук 
woocommerce_process_product_meta
После этого у вас в админке будет выводиться поле и оно будет сохраняться.
Далее - 
Вывести в интерфейс поле со второй ценой у товаров определенной категории (Second). Для этого придется написать некоторую логику, например - if (in_category('Second')) {...
вывести вторую цену...}. 
Также вам нужна логика, чтобы правильно обработать ситуации, когда у вас одна цена === 0, вторая !== 0, обе цены  !== 0 и т.д. То есть, придумать, как WC должен понять какую цену выводить, если цена === 0 или null.
Еще один момент - обработка второй цены в корзине. По дефолту WC не сможет "понять", что ваш кастомный input - это цена. Для того, чтобы добавить в корзину что-то "неродное", подойдет хук 
woocommerce_before_calculate_totals.
Код примерно такой:
1. Добавляем "кастомный" input (
в functions.php или в другой скрипт, в котором у вас собрана логика WC):
add_action('woocommerce_product_options_general_product_data', 'add_custom_price_usd');
function add_custom_price_usd() {
	
        echo '<h3>Цена в долларах</h3>';
	
	woocommerce_wp_text_input(
        array(
            'id' => 'price_usd',
            'placeholder' => 'Цена в долларах',
            'label' => __('Цена в долларах', 'my-text-domain'),
            'desc_tip' => 'true'
           )
	);
}
2. Добавляем хук для сохранения второй цены:
add_action('woocommerce_process_product_meta', 'save_custom_price_usd');
function save_custom_price_usd( $post_id ){
	$price_usd_field = $_POST['price_usd'];
	update_post_meta($post_id, 'price_usd', esc_html($price_usd_field));
}
3. Добавляем "обработку" второй цены в корзине:
add_action( 'woocommerce_before_calculate_totals', 'set_custom_price_usd_to_cart', 10, 1 );
function set_custom_price_usd_to_cart( $cart ){
        if ( is_admin() && ! defined( 'DOING_AJAX' ) )
    	    return;
	if ( did_action( 'woocommerce_before_calculate_totals' ) >= 2 )
	    return;
	foreach ( $cart->cart_contents as $key => $value ) {
            if ( ... проверяем, принадлежит ли товар категории Second... ) {
                /* если да - меняем цену */
                $value['data']->set_price(... цена в долларах...);
            }
        }
}
Здесь внутри foreach код может быть разный, так как не известно, каким образом вы будете получать цену и добавлять ее в корзину.  Реализация зависит от вашего кода. Поэтому я описал общий принцип. 
4. Выводим вторую цену в интерфейс -  поскольку цену мы сохранили как метабокс, то в интерфейсе получаем ее по id товара с помощью get_post_meta() :
get_post_meta( $product->get_ID(), 'price_usd', true );
Ваша конкретная реализация может отличаться. Для вариативных товаров немного по другому, но в целом, шаги будут такие-же.