morenita7722, estás mezclando cosas que se ejecutan en momentos diferentes. Es normal que no funcione.
No sé cuánto conocerás de JSP/JSTL y/o de Javascript, así que quizá esto te suene algo básico. Pero como precisamente es en esto en lo que estás fallando, creo que es bueno explicártelo. De cualquier modo, yo de ti revisaría algún tutorial básico sobre lenguajes de servidor o sobre cómo funciona JSP/JSTL.
Cuando pides una página, la parte de Java/JSTL se ejecuta en el servidor, antes de enviarte la página a tu navegador. La parte de Javascript se ejecuta en el navegador, es decir, una vez que ya has recibido la página. Después. Así que, cuando haces esto:
Código:
var e = document.getElementById("e");
alert(e.value);
<c:if test="${empresa.CIF == e.value}">
La última línea, la de JSTL, se está ejecutando en el servidor. Mucho antes de que se ejecute nada del Javascript. Antes incluso de que el usuario haya rellenado el campo. Antes de que la página llegue al navegador.
Por eso mismo, en esa línea e.value no tiene sentido, no significa nada y no encuentra ninguna empresa que coincida con eso.