PostgreSQL allows the creation of 'Partial Indexes' which are basically indexes with conditional predicates. http://www.postgresql.org/docs/8.2/static/indexes-partial.html
While testing, I found that they are performing very well for a case where the query is accessing only certain 12 rows in a table with 120k rows.
But before we deploy this, are there any disadvantages or caveats we should be aware of?