Regarding Variant 1:
It is unclear to me whether the UDBs used for the Quadrature encoder can be selectively left on in a lower power mode.
I have the PSoC5LP Power Mode App Note and it makes no mention of whether the state and logic of the UDBs can remain powered AND OPEARTIONAL in lower power modes.
Cypress will have to weigh in on this.
There is reference to the API calls to allow the component to go to Sleep (which is not what you want anyway).
Regarding Variant 2:
I believe this is achievable.
As Leonard Poma mentioned above, you can put PSoC into Deep Sleep mode, waking up only on Pin interrupt. Then read Pins state, update the encoder counter and go to sleep again.
The wake-up time from Deep sleep is short (25us), so average current should be small. See this blog as an example of the PSoC4 DeepSleep current measurement
To realize quadrature decoder in code (no UDBs), using interrupts or polling technique, please check this custom component
Te interrupt code consumes about 50 processor clocks, after which it can go back to sleep again until next the interrupt
I believe that the UDB solution (1) is not possible, as in Deep Sleep mode UDBs are disabled. There are some fixed-function periferals available (like UART), but not QuadDecoder. See, for example, this thread and links inside
Last bit not least, you have to ensure that the encoder itself consumes no more than few uA itself, which means that some high reliability mechanical encoder with ~1M pull-up resistors should be employed.
In lew of the battery you may also consider harvesting energy of the mechanical source, which drives the encoder.