Need to override single Drupal 8 plugin function
Method #1
You can simply create new plugin which extends class of target Core plugin.

File: modules/example/src/Plugin/EntityReferenceSelection/ExampleSelection.php
    

namespace Drupal\example\Plugin\EntityReferenceSelection;

use Drupal\Component\Utility\Html;
use Drupal\Core\Entity\Plugin\EntityReferenceSelection\DefaultSelection;

/**
 * Entity Reference Selection with distinguishing field.
 *
 * @EntityReferenceSelection(
 *   id = "example",
 *   label = @Translation("Example"),
 *   group = "example",
 * )
 */
class ExampleSelection extends DefaultSelection {

  /**
   * {@inheritdoc}
   */
  public function getReferenceableEntities($match = NULL, $match_operator = 'CONTAINS', $limit = 0) {
    $target_type = $this-&gt;configuration['target_type'];

    $query = $this-&gt;buildEntityQuery($match, $match_operator);
    if ($limit &gt; 0) {
      $query-&gt;range(0, $limit);
    }

    $result = $query-&gt;execute();

    if (empty($result)) {
      return [];
    }

    $options = array();
    $entities = $this-&gt;entityManager-&gt;getStorage($target_type)-&gt;loadMultiple($result);
    foreach ($entities as $entity_id =&gt; $entity) {
      $bundle = $entity-&gt;bundle();

      $translated_entity = $this-&gt;entityManager-&gt;getTranslationFromContext($entity);
      $label = $translated_entity-&gt;label();
      $distinguishing_field = $translated_entity-&gt;get('field_example')-&gt;get(0);
      if ($distinguishing_field) {
        $label .= ' [' . $distinguishing_field-&gt;getValue()['value'] . ']';
      }
      $options[$bundle][$entity_id] = Html::escape($label);
    }

    return $options;
  }

}


Having this done navigate to field settings page and enable your reference method.

Method #2
For select list widget you can install Entity Reference Views Select which allows to build selection options using Views fields.

Method #3
Content Browser module (not stable yet) offers more advanced way to select entities.

Method #4
You may globally override Entity::label() method for required entity type. So that the [title] - [other_distinguishing_field] pattern will be used everywhere including default entity reference selection plugin.