using drupal_process_states()
I think I was confused about what drupal_process_states() does. It does not have to be declared like a hook or even invoked in my custom module. It is simply the machinery behind #states in the FormAPI. Simply using a hook_form_alter() and adding a #states array to the relevant fields is enough.