Si estas guardando tus registro en la forma
 
a@localhost1|b@localhost2|c@localhost3
a@localhost4|b@localhost5|c@localhost6
a@localhost7|b@localhost8|c@localhost9 
Tu codigo esta empleando mal es uso de 
in_array, debiera de ser algo asi. 
 Código PHP:
    $array_mail=file("correos.txt");
foreach( $array_mail as $mail )
{ 
    if ( in_array( $registro, explode( '|', $mail ) )
    {
          echo "** Si existe **</br>\n";
    }
} 
    
   Esta forma es un poco mas dificil de trabajar sobre todo a la hora de alamcenar los datos en orden, asi que yo te recomendaria que mejor los guardaras de la siguiente forma
a@localhost1
a@localhost4
a@localhost7 
de esta forma podrias a hora si usar tu script como lo pensabas. 
 Código PHP:
    $array_mail=file("correos.txt");
if (in_array($registro, $array_mail)) {
            echo "1";
            }else{
            echo "2";           
$archivo = fopen('correos.txt','a');
           $codigo="$registro\n";
           fputs($archivo, $codigo);
           }