Here's a quick and easy fix that is template based as to not hack your core. Go to your category and product details templates:
/components/com_virtuemart/themes/vmj_genx/templates/browse
/components/com_virtuemart/themes/vmj_genx/templates/product_details
and where it normally calls out for "<?php echo $product_price ?>" you can check for the "Call for Pricing" string, and if that exists, then do something other than "<?php echo $product_price ?>".... like this:
<?php if (stristr( $product_price, $VM_LANG->_('PHPSHOP_PRODUCT_CALL') )) { ?>
PUT WHATEVER YOU WANT HERE WHEN NO PRICING. IF NOTHING, THEN REMOVE THIS LINE.
<? } else { ?>
<?php echo $product_price ?>
<?php echo $addtocart ?>
<?php } ?>
In this example, my product price AND addtocart are not called out since there is not point in calling out addtocart when you cant addtocart anyways.