Load the entire level all at once. It will fit in memory unless your game is much, much bigger than I imagine it is. 1000 blocks should be around the order of several kilobytes. A megabyte is 1000 times larger than that and a gigabyte of RAM is 1000 megabytes of RAM.
Alright thanks, I really wasn't sure if this was a bad practice or not, but my game probably will not ever get very large.
Collision detection and drawing will be the problem if you try to do it all at once. (Especially since collision detection could be O(n^2).) To narrow down the number of items to visible and nearby items, test if each items AABB overlaps a rectangle slightly larger than the visible area of the level. Items won't need to be discarded until the end of the level. You can leave them wherever they are when they go outside the rectangle or reset their position to where they started. You could sort items by their x position or divide the level into grids/chunks, but it might not matter.
I'm sorry, but I'm not familiar with the term AABB. Could I get a quick explanation or something?
(Awesome name btw.)