A ver si entendí bien.
Tienes tres archivos.
En el primero, que llamaré "formulario.htm" tienes un formulario HTML que apunta mediante POST a otro archivo, que llamaré "archivo1.php", al cual le pasa una variable llamada $imei. Tienes un tercer archivo, que llamaré "archivo2.php" y que necesita manipular la variable $imei que está en "archivo!".
¿Entendí bien?.
Si esto es así entonces...
---- archivo1.php ----
<?php
$imei = @$_POST["imei_search"];
require("archivo2.php");
?>
---- fin archivo1.php ----
---- archivo2.php ----
<?php
echo $imei;
?>
---- fin archivo2.php ----
Las funciones require();, require_once(); e include(); hacen que el contenido del archivo pasado como parámetro se incluya en el lugar de la llamada en el archivo que está haciendo la llamada *y además ejecuta ese archivo* como si fuera parte del archivo donde está la llamada.
La diferencia entre include() y require()/require_once() es que en caso que el archivo no exista include() solo emite un warning y el proceso continua, mientras que con las otras dos se emite un error y el proceso se detiene.
La diferencia entre require() y require_once() es que require() si el archivo ya fue incluido en una llamada anterior lo vuelve a incluir y ejecutar mientras que con require_once() lo hace solo la primera vez y si se vuelve a incluir el mismo archivo no lo incluye ni lo ejecuta.