How can I make a callable function for a C++ class without initiation?

There is no real way, you can make UObject for that though, so instead of spawning an actor, just use NewObject() if you need call functions.
You can also use a spawn UObject instead of a UStruct to give the DataContainer some real logic and override it for each item.