Bueno, veamos...
Vamos a evaluar el problema por etapas.
Para obtener los clientes que tienen al menos un formulario (pero puede que más), podría hacerse así:
Si quieres sólo aquellos casos de clientes y formularios que no posean el id_estado = 1, lo excluyes:
Si quieres todos los clientes, tal que devuelva NULL donde no haya formularios relacionados, no se usa INNER JOIN:
Ahora bien, si quieres todos los clientes, pero sólo te aparezcan los formularios en aquellos casos en que el cliente no tenga ninguno en estado_id=1, la cosa se complica, porque lo que hay que resolver es excluir aquellos que tienen alguno en ese estado.
Eso hay más de una forma de lograrlo. Una de ellas está cerca de lo que planteaste, la otra ... es algo diferente.
Cita: Asi, que mi idea fue hacer una subconsulta, pero quiero ver de optimizarla porque cuando la hago correr, tarda mucho y da error.
Eso es porque ese campo "cliente_id" de la tabla "formularios" necesita ser indexado. Obviamente no lo está.