I see two options here
Option 1 - You could spend some more money and get a purpose built PIR module with ultra low power consumption. Panasonic have a range for this purpose, one of the lowest power versions is the EKMB1107113 with 1.9 uA current draw. These are not cheap though and cost around £20 in the UK. With one of these you could put your MCU in deep sleep while no PIR motion is detected & wake up on PIR motion, this would maximise your power usage.
Option 2 - I think what you are trying to say is to modulate the on time of the IR modules to reduce its power consumption. You claim 20mA at 100% on time. If you use a Timer to reduce the on time to 100ms you could effectively multiple your battery drain time by 10.
You could have the power rail of the IR module connected via a Transistor with its gate toggled by a 555 timer with a 1:10 ratio setup and this could improve your performance.
Possible 555 Solution
I would strongly recommend you looking into how 555 timers work and transistor theory. Electronic Tutorials has some great explanations,
https://www.electronics-tutorials.ws/waveforms/555_timer.html
https://www.electronics-tutorials.ws/transistor/tran_2.html
The easiest solution I can imagine can be seen in my LTSpice simulation below,

You can adjust R1, R2 & C2 to vary the time characteristics of the NE555 Output Pulse, you can then use this output pulse signal to control an NPN transistor that is toggling the IR Modules power supply.
The simulation above is just a suggestion for how you could solve this problem, you would need to dial in the specific values to ensure that the IR module is getting enough power and the duty cycle is what you want.