To limit the number of features requested, I have used OpenLayers BBox Strategy with ratio of 0.5. The problem is, when I pan the map a new set of features are displayed and the older features are removed. Is there any way to keep those older features when new features are requested?
Seriously - what do you want them for? That might help with answers.
Just one idea would be to have a second "clone"/cache layer. As soon as your BBox layer loads data, your clone the content to a 2nd permanent layer. So over time, your "cache" layer ends up acquiring all the data loaded on the bbox layer.
Implementation is fairly simple - wait for loadend and then copy data. maybe remove duplicates by tracking IDs. And then of course hide all the features on the "cache" layer. But...what's the point?