How not to display some required fields on registration form?
First make fields not required and then use the Field Validation module. You can validate each field as per your requirement.


  The following validators are currently included:
  •Regular expression
  •Numeric values (optionally specify min and / or max value)
  •length (optionally specify min and / or max length)
  •number of words (optionally specify min and / or max words )
  •Plain text (disallow tags)
  •Must be empty (Anti-Spam: Hide with CSS)
  •Words blacklist
  •number of selections (optionally specify min and / or max selections )
  •Unique
  •Match against a field
  •Match against a property
  •Specific value(s)
  •Require at least one of several fields
  •Equal values on multiple fields
  •Unique values on multiple fields
  •PHP Code (powerfull but dangerous)
  •URL (support internal path and external url validation)
  •Email
  •Pattern (Regular expression lite)
  •Date range2
  •Date range(living in sub module date validation, deprecated in future)