This too could be done with perl and rrdtool fetch see the prev post
http://cactiusers.org/forums/topic216.html
The basics are there to get you your data (you will have to tweak the timespan, dsname and such)
The nightly script I run traverses about 240 rrds and grabs 2 hrs (2 x 1 hr)worth of data from each rrd. the whole process takes only a few seconds (the mail hits my inbox at about 20 secs after the hour.) I would imagine scanning a months worth of data would be just as quick (because of the way that RRD averages and stores its data most of the number crunching is already done for you)
Another approach you could take is setting up another rra that is 1 datapoint a month for avg and max then its just a fetch and print of that value.