Can I hook into get_avatar to supply a hash instead of an email?

From Gravatar.com:

All URLs on Gravatar are based on the use of the hashed value of an email address (link)

Instead of storing an email adress in the comment data, you can store the md5-hash of that email adress. The email adress is encrypted and you can use gravatars. Use the filter add_filter( 'preprocess_comment', 'email_to_md5' ) to modify the email adress and do not null it later.

function email_to_md5( $commentdata ){
  if( ! empty( $commentdata['comment_author_email'] ) )
    $commentdata['comment_author_email'] = md5( strtolower( $commentdata['comment_author_email'] ) );

  return $commentdata;
}