Interactable actors should simply add themselves to an array contained in the GameState in “On Begin Play” and unregister themselves in “OnDestroyed”, when you need them you can “Get GameState” → Cast to your game state with the array, and access them there.
No need for tags. No need for expensive lookup operations. If their interactability is toggled via tags then the actor just checks it’s own tags.
Never use GetAllActors… nodes, they will really hurt performance, level load times, etc. – For smaller games GetAllActorsOfClass (only) is acceptable.
This way the performance costs you nothing, it’s effectively free.
This however, is only answering your question in a way that’s constrained to your chosen method. There should be no need to loop every interactable actor. Simply have a trigger sphere that adds and removes themselves to an array on your character/pawn when you begin/exit overlap. Easy.