1) Да, но возможно не просто тупые индексы
2) Только в случае если True << False или наоборот, иначе вы просто не получите особого выигрыша. И то индекс нужно добавлять на реже встечающееся значение, т.е.
CREATE INDEX ON task(is_on) WHERE is_on = TRUE
3) Нет, т.к. планировщик скорее всего выберет сортировку результата
4) Чем уникальнее значение, по которому выполняется поиск, тем индекс будет уместнее
5) Добавить индекс нужно по полю status