To do what you want, you can simply create a "partial index", like so:
CREATE INDEX idxfoo ON table USING zombodb (....) WITH (...) WHERE file_isdir = false;
Postgres will then only insert rows into that index when its predicate evaluates to true.
When you query, you *must* also include that predicate or else Postgres won't know that it can use the partial index:
SELECT * FROM table WHERE zdb('table', ctid) ==> 'user query' AND file_isdir = false;
You'll only pay a small performance cost when you INSERT or UPDATE records, and save all sorts of time at SELECT.
Note that partial indexes are built-in to Postgres and not anything ZomboDB specific. Postgres is pretty darn great!
eric