Hola.
Puedes utilizar un Expression Index (Índice sobre expresión). Mira la documentación sobre CREATE INDEX.
http://www.firebirdsql.org/refdocs/l...ate-index.html
Aunque no va a funcionar para el ejemplo concreto que has dado, puesto que tu expresión tiene parámetros, y por tanto no es posible evaluarla en el momento de insertar un registro (cuando se crea una entrada en el índice). Solo se puede evaluar en el momento de lanzar la consulta con unos parámetros concretos.
Es decir :
Esta expresión se puede optimizar mediante un índice.
create index ix_T on T computed by (coalesce(A, ''));
Pero esta expresión no se puede optimizar (no puedes indicar parámetros que solo existen en tiempo de lanzar la consulta).
create index ix_T on T computed by (coalesce(:A, A));
Saludos.