If you are not validating the zip code field then it is ok for the users to leave it blank. If you want to conditionally validate the zip field depending on weather they entered US you could just add your custom if statement around the validation code for the zip. You would look for the posted country and if it is equal to US then you would run the validation for the zip, otherwise leave it as it is. Here is an example of what this would look like:
if(isset($_POST["UserCountry"]) && $_POST["UserCountry"] == "US"){
$WAFV_Errors .= WAValidateZC(((isset($_POST["UserZip"]))?$_POST["UserZip"]:"") . "",true,true,true,true,true,18);
}