You will need the mod NRaas Retuner. What you do is go to your computer and open it up, then go to Settings > General > By Tunable XML > Sims3.Gameplay.Seasons > SeasonsManager+TreesManager.
From there, you'll want to make the following changes:
kSpringLeavesRegrowTime 0 (Affects how early into Spring the leaves grow back on trees.)
kFallLeavesStartTime .75 (Affects when leaves start falling from them.)
kFallLeavesEndTime .99 (Affects when leaves finish falling.)
Tree dormancy seems to be tied to whether or not the trees have leaves on them. As such, those numbers are just an example. The numbers represent a percentage in decimal form. 0-.99 is beginning to end of the season. Also, the number rounds up. So if you set kFallLeavesStartTime too late (like .85), the leaves won't disappear at all until the first day of Winter if your Fall is 7 days long.
For regular garden plants, use NRaas Tempest to alter the temperature range so that it stays above freezing. I choose 45F as my minimum. To change this, go to your computer and open up NRaas Tempest, then go to Weather > (Season in question) > Temperature: (Time of day). From there you can also alter various weather effects.
Side note about NRaas Retuner. In the same place as above, you can also change how late into the season trees change to Fall colors by altering the number for kFallColorChangeEndTime.