I've read that beer should keep in a cask for months, but does that only apply if left full? How long do I have to finish once I start drinking from it?
Untapped casks can be stored for extended periods of times as long and the bungs are secure and they are not leaking. If you would like to enjoy drinking the beer over an extended period of time you will have to use an aspirator valve in your system set up. What this does is keep a small amount of CO2 pressure in the head space so the beer is not exposed to O2. The pressure is low enough not to increase the existing co2 in solution but will allow for extended serving. This can be installed in an existing co2 line and works independent of the regulator pressure. Thus you can have your regulator set at whatever pressure you need to serve regular kegs and the valve will restrict the pressure to about 1psi going into the cask.
Cask beer will last a long time (months), especially if it's a higher gravity beer. But once you tap a cask, you only have a few days to drink it before it will begin to display signs of oxidation (which is basically "spoiling"). I've had cask beer after 12 or 18 hours, and it was already no good.
The problem is that for every cc of beer you pull out, a cc of air will need to be pulled into the head space of the cask. That's not quite 100% true at the beginning (just after it's tapped), when some CO2 will come out of solution so that no air needs to be added into the head space. But after that, every pint of beer means a pint of air that will spoil your cask beer.
If, rather than use a cask, you use a system that dispenses with CO2, then you can drink off that keg for a month with no noticeable degradation in beer quality. If you want to get out cheap, you can keg into 6 liter bottles that have CO2 on the tap (see this you tube video about Bottling A Five Gallon Batch into Three 6 Liter MillerCoors Bottles). Not your question, so I'll stop with this line of answering, but it is related in that it does what I think you want to do...drink longer off one batch of beer!