See SSceneOutliner, FActorBrowsingMode.

You can get the folder of any actor using GetFolder on it

Snippet to access the scene outliner slate widgets (up to 4 can exist)

TWeakPtr<ILevelEditor> LevelEditor = FModuleManager::GetModuleChecked<FLevelEditorModule>("LevelEditor").GetLevelEditorInstance();  
 
if (LevelEditor.IsValid())  
{  
    TArray<TWeakPtr<ISceneOutliner>> SceneOutlinerPtrs = LevelEditor.Pin()->GetAllSceneOutliners();  
    
    for (TWeakPtr<ISceneOutliner> SceneOutlinerPtr : SceneOutlinerPtrs)  
    {
	    if (TSharedPtr<ISceneOutliner> SceneOutlinerPin = SceneOutlinerPtr.Pin())
	    {
		    SSceneOutliner* SceneOutliner = static_cast<SSceneOutliner*>(SceneOutlinerPin.Get());
		}  
    }
}

Snippet to select all actors in the same folder as the selected actor

// get selected actors  
TArray<AActor*> SelectedActors;  
if (GEditor->GetSelectedActors()->GetSelectedObjects<AActor>(SelectedActors) > 0)  
{  
    AActor* ReferenceActor = SelectedActors[0];  
    FFolder ReferenceFolder = ReferenceActor->GetFolder();  
    
    for (TActorIterator<AActor> It(GWorld); It; ++It)  
    {
	    if (It->GetFolder() == ReferenceFolder)
	    {
		    FU_LOG_STemp_D("Selected {0}", *It);
		    GEditor->GetSelectedActors()->Select(*It);
		}
	}
}