Building atlases on the fly isn't supported and even if it were, it wouldn't be very efficient - you will need all source textures uncompressed in memory, and that alone can use up a LOT of resources. You can, however, use the second variant (tk2dSpriteCollectionData.CreateFromTexture - to load multiple sprites from a pre-generated atlas). That way, you can create (extract) different sprites from one texture.
If you really want to do this - you should invest in a native c/c++ atlas generator where you are in full control over the memory, bypassing EVERYTHING unity does with the textures.
And to answer your question - you could in theory create one collection from all images - collections may span atlases, but it won't really save you anything.