Drupal Rule to Clear a Field But Still Retain Data?
Use hook_form_FORM_ID_alter() with FORM_ID = node_form.

Example:

function your_module_name_form_node_form_alter(&amp;$form, $form_state) {
  $form['field_a']['#default_value'] = '';
}


For the second portion of your question, look into Node revisions.