Why is my query much slower when in view?
Until version 2.0, Firebird's query optimizer wasn't very good with views and it would rarely use indexes. Check the query plan when you run SELECT on view and you will spot the problem quickly.
Therefore, it is highly recommended that you use at least Firebird 2.0. If you have to use Firebird 1.x, the only way to speed it up is to write a stored procedure that takes values in WHERE clauses as parameters and thus use the appropriate indexes.