I have question: what you mean list populated with all respectful items. And more exactly what you mean by items? Are those actual allocated and created actor objects, pointers to some assets in game, classes of actors that you may create.
You can get list of all actors, almost everything is an actor in unreal, you can get class of actor (having pointer to actor). Not sure if you can get list of all classes used by unreal, so i think you need to have actor loaded into memory for it to be on any list. And unreal does not like loading unnecessary objects.
You could create blueprint interface, add it to classes of objects you want on list. Then get all actors with interface. But again if actor is not loaded it will be not on that list. “Get all actors” nodes return pointers to actual actors, and if those are not loaded they do not have pointers.
Why you need to code it all yourself:
Imagine you created fruit item, it has some standard value like mass, food value etc. All those fruit differ only by visuals that are: static mesh model. texture color, some dirt mask. Should every possible combination of fruit actor be on that list or just one actor with first model? What if you created some randomizing code that makes each apple different, for eg custom mesh script that makes random shape apples.
I agree however that it would be nice to have methods for listing (and loading in runtime) all meshes in folder or all textures etc.