Yes, the strategy recommended by @someone can help on this. Expanding on that:
Google Reader unofficial API lets you ask for old items from feeds, but it'll be very slow (if you're asking for 10000 items for instance), so you should ask for that once and cache it on your side.
If you need more than 10000~20000 you'll probably get timeouts on the Google server side. To help with this you can probably ask for 1000 or something items each time (http://www.google.com/reader/atom/feed/), and then use the continuation parameter for paging. I've never used this one, but it contains a parameter (c, for continuation) that can be promising for what you need. As described here (in the 'Atom set of items' section):
a string used for continuation process. Each feed return not all items, but only a certain number of items. You'll find in the atom feed (under the name gr:continuation) a string called continuation. Just add that string as argument for this parameter, and you'll retrieve next items.
One more thing, you'll need to login to Google Reader before using that API. If you want code for that, check my answer to this other question.
Hope it helps!