If you must have only one ticket, you need a zonal season ticket between whatever is the furthest zone you will be travelling in and Reading. (Easiest for me to look at this from the Reading direction.) So if you use the
NR» Greenford branch and then on to Northolt, having changed from a Reading to London stopper at West Ealing or Ealing Broadway , you need a season between Reading and zones 3-6, because you pass through all those zones.
The fact that Northolt is only in zone 5 (and Greenford in zone 4) is not really relevant, you pass through zone 6 on your way to/from zone 3 and that is how what are known as 'out boundary fares' are defined.
Now it is possible you already use
Oyster▸ PAYG▸ , so it may be easier to get a rail season to either West Ealing or Ealing Broadway, and change to PAYG there. But you'd need to touch in/out for PAYG purposes - that may be a hassle depending on where the readers are at those stations.
If you go to National Rail's season ticket calculator and enter Reading to Greenford you will see that the first box is a 7 day rail only season to Greenford at ^88, and the second box is the ticket you need for onward travel to Northolt:
http://ojp.nationalrail.co.uk/service/seasonticket/search You will see the difference is only ^7.60 a week - probably competitive with 10 single PAYG fares, so I'd expect the second fare is your best bet.
I don't use the route so am unaware of any quick fixes to bring the price down, but you could try adding a couple of shorter seasons together, but you then get into a bit of a minefield of ensuring you use trains that stop at the changeover point if both are 'point to point' rather than one or both being zonal seasons.
Paul