Если бы вы могли сделать ваше "ложное" значение равным нулю, а не 0, вы бы достигли желаемого результата.
В противном случае вы можете создать индекс на основе функций, например:
create index idx on recors (case boolean_field when 1 then 1 end);
Это будет индексировать только 1, но для использования Oracle в ваших запросах ваши запросы должны быть такими:
select * from records where case boolean_field when 1 then 1 end = 1;