This solution (Yurii's #2 suggestion) is exactly what i'm looking to achieve but I feel I'd need thorough instructions, or documentation.
I think this functionality would give many users apps a faster and smoother feel, as they are only loading more results when they request more, plus the previously loaded results will not need to be re-loaded again if the user returns up the list.
You see this functionality in many major apps that contain lists. For example instagram, twitter, facebook, even Apples built in Messages app does this when you scroll to the top and click 'load earlier messages'.
I'm sure it would be a well used feature on many users apps if there was a clear documentation or instructions on how to achieve this, aimed at those who don't have as much knowledge.