how to add #states property to an $element of the custom field?
drupal_process_states() takes the parameter $elements and contains the example:

array(
  'visible' =&gt; array(
    ':input[name="remote_checkbox"]' =&gt; array('checked' =&gt; TRUE),
  ),
)


Your example is very similar:

array(
  'disable'=&gt;array(
    ':input[name="profile_main[field_cellphone][und][0][cellphone]"]'=&gt;array('filled'=&gt;TRUE),   
   ),
 )


But I noticed that 'visible' is an adjective while 'disable' is a verb so I checked the list of available states on the drupal_process_states() documentation and found:


  The following states may be applied to an element:
  
  
  enabled
  disabled
  required
  optional
  visible
  invisible
  checked
  unchecked
  expanded
  collapsed
  


So it looks like your problem boils down to a missing letter 'd' on 'disabled'.