A texture "lives" on the GPU memory, thus its size is limited by your availalbe size, you can query the maximum size with the specific member function.
Since switching between textures has a small overhead, it's best to keep as much as possible on one texture, but keep in mind, that while your GPU might be able to handle big sizes, some older hardware might not.
If you have tons and tons of textures, it's better to load them when needed. Depending on how much RAM you want to use, you can pre-cache some of the images in memory with sf:Image instances, otherwise you can always read directly from the disc.
What do you mean with "non static sf::Textures"?