Jozza,
No. It is not possible to make a query using a custom property. The problem, as you correctly surmise, is that the query may need to go back to the database, and the database has no understanding of custom properties. We have thought of supporting cache-only queries that use custom properties, but that is an extremely difficult feature to implement. We may support cache-only queries that support custom properties after we support Orcas, but I make no promises.
The solution that you propose of using a predicate on a query that contains only entity columns is often your best approach.
Hera are some other solutions:
In your example of Age, you could translate the query to an equivalent query that used BirthDate
You could use a StoredProcRdbQuery
You could use a View