How can I validate that a date is available before prompting the user to complete the rest of a webform?
You have to use AJAX to check if the date is available.

In your form add a button to check for the date, for example:

  $form['submit-check'] = array(
    '#type' =&gt; 'submit',
    '#value' =&gt; '('Check date'),
    '#ajax' =&gt; array(
      'callback' =&gt; 'mymodule_check_date_callback',
      'wrapper' =&gt; 'datecheck-result-wrp',
    ),
  );


When user clicks on the button, an AJAX call is made. inside the AJAX callback you can check the date availability and return the result in the callback fucntion (mymodule_check_date_callback() in the above example).

AJAX forms are beyond a simple answer, you'll have to check the documentation. I recoomend the Drupal 7 AJAX Forms documentation, the Example for Developers  module that includes AJAX form examples and the Form API Internal Workflow Illustration