I want to use PIC16F1503 and have to chain thermometers due to pin count. I guess, running above, complex code might not be possible on this wimpy chip?

The task is as follows:
There are 3 fans with PWM input and tachometer output, MAX7219 display and array of buttons. Circuit will monitor fan rpm and adjust it according to individual thermometer reading.

I have 12 IO pins on that chip, I'm thinking about allocating them in the following way:
3 pins - hardware PWM outputs.
3 pins - tachometer inputs.
3 pins - driving MAX7219
1 pin (MCLR), used as ADCIN, to attach several buttons.
1 pin - relay driver, for emergency shutdown.

So I have only 1 pin, for attaching 3 DS18B20....