I believe if you specify ‘meta_key’ without a ‘meta_value’ it checks merely for the existence of the meta_key. I haven’t tried this but you might be able to specify a ‘meta_compare’ of ‘!=’ and some random value for ‘meta_value’ that you know would never actually be set as the value.
$query->set( 'meta_key', 'fieldA' );
$query->set( 'meta_value', 'okeedokeedoggiedaddie' );
$query->set( 'meta_compare', '!=' );
$query->set( 'orderby', 'meta_value_num' );
$query->set( 'order', 'DESC' );