Allow comments only for author of the node and certain role
You can probably unset the comment form using hook_form_alter on the basis on certain condition:

function MODULENAME_form_alter(&amp;$form, &amp;$form_state) {
  if ( $form_id == 'comment_form') {
    global $user;
    if (!user_access('administer nodes') {
      // Form alter here to unset comment form
      unset($form);
    } 
  }
}