I just checked 3 Energizer brand C cells and they were exactly 150 mm in length when lined up and touching.
I just checked at Battery Station and they list a slew of sub C at 42.0 mm in length. That would be only 18mm longer than 3 Energizers. The diameter of their Sub C cells is listed as 23.0 mm.
You could gain a bit of room in the battery tube by sliding the switch forward a little and, if needed, you could also trim the plastic of the switch back like shown
in this thread.
The cavity for the spare bulb below the tail spring is 21 mm in diameter. The inside diameter of the tailcap where the tailspring sits is 23 mm. If you were to enlarge the spare bulb cavity out to a bit more than 23.0 mm you would be able to slide the back of the 4th Sub C cell
into the tailcap and still be able to screw the tailcap all the way down for a nice tight fit with the battery tube. You would have to de-anodize the bottom inside of the tailcap and use a smaller spring (or just cut down the original spring) but it would work. This is similar to how 2 unprotected 18650 Li-ions fit into a 2C for a ROP-LE mod but without the tailcap sidewall material removal.
If you have a good solid clamp, plenty of patience, and work very slowly and carefully, you could use a dremel type rotary tool with the proper bits to enlarge the spare bulb cavity to the required size. It can be done but you can't rush it when using a Dremel. It's not difficult work, just time consuming and boring work. Thank goodness the tailcap is soft aluminium and not hard steel.
There is one more alternative and that is using the less common 33mm long by 23mm diameter sized 4/5 Sub C cells.
I'm guessing you passed on that option due to their much lower capacity?