Your fish can get fungus and bacteria even without live or frozen foods. It's internal parasites you can prevent (still, not always) by feeding only pellets and freeze dried food.
Cottony patches sounds like fungus. Your fish becomes more susceptible to infections/fungus/etc. when temperature is low and water conditions are poor. Your fish is immune compromised because he is cold.
Your water change schedule is decent, however, it doesn't leave you leeway if you are a few days late. Especially with your fish being sick, I would increase the water changes. I'd do at least 2 100% changes per week, 50% some days in between since he's sick (1 50%, 1 100% per week when not sick is recommended for 2.5 gallons).
Your fish will never fight off his infection if he is cold. I promise you that you can find a heater that fits if you look online.
Here's a few shapes that would work for your tank, all of which people on this forum have used and liked:
(I personally have this one for a tank at home (not my betta)... it's 50 W, but people on this forum have used it for 2.5 gallon tanks just fine).
Essentially, you're looking for something between 7.5-25 watts. Watch the temperature after adding a heater to make sure the tank isn't over heating. You also don't want the temperature to rise too fast (1-2 degrees per hour is okay). Temperature should stay in the range of 77-81 degrees, and should not fluctuate.
Adding aquarium salt at 1 tsp/gallon may also help your fish heal. It's easy to pre-mix it in a 1 gallon jug (like one that held drinking water).
Often, fish can fight off their own infections with a little help. Warm water and aquarium salt will help him out. However, you do not want to treat with salt for more than 10 days at a time. It can cause organ failure after long exposure.