How to disable required fields in form?
Yes, you can use

#limit_validation_errors


  Used by: button, image_button, submit
  
  Description: Provides an array of sections which are parts of
  $form_state['values'] which should be validated, implying that
  sections which are not listed should not be validated. 
  
  This is normally used in multistep forms in the case of a "back" button, for
  example, where '#limit_validation_errors' =&gt; array() would mean not to
  validate anything as form values on the current page are to be
  discarded anyway. 
  
  #limit_validation_errors does not have any effect if #submit is not set. More discussion is in the form_set_error() documentation. 
  
  Values: array indicating sections of the $form_state['values'] which should be validated.