Also, do you have the absolute positions of every object stored inside some sort of database so that you know which objects to load the resources of and display as you get close to that object?
Movable objects in the game (like coins, the characters, particles, etc.) derive from a Mobile class. Mobiles have an sf::Sprite member that gets drawn when draw() is called on the Mobile. Mobiles also contain other data like its absolute position, animation data, velocity data, and so on. If the Mobile is going to be used that level, such as the bee enemies in the grasslands level, its textures will be loaded or pointed to.
That will help explain the next part:
If the world in which you're scrolling through with relative positioning of objects, do you load the resources of the objects when they are, say, 1000 > x > -1000 AND 1000 > y > -1000 position units away from the main character (the center of the screen), and anything outside of those bounds unload it?
The issue here is not loading/unloading resources, which is a different beast altogether. Instead, it's about calling draw() on an object or not (i.e. culling). The way it works in Zeran's Folly is fairly simple:
-Set the sf::Sprite's position to the Mobile's absolute position modified by the camera offset. This will be its "screen" position.
-Is the sf::Sprite's getGlobalBounds() inside the screen, therefore (probably) visible? If so, call draw() on it. If not, don't.
TL;DR: Don't mess with loading/unloading textures, just don't call draw() on stuff that won't be seen. sf::Sprites are contained in another class that has absolute position data--no database is used.