If your files are CSV files, then Kix can do what you want and output them to a CSV file as well.

Using your example...

 Code:
;Script Options
$SO=SETOPTION("Explicit", "ON")
$SO=SETOPTION("NoMacrosInStrings", "ON")
$SO=SETOPTION("NoVarsInStrings", "ON")
$SO=SETOPTION("WrapAtEOL", "ON")

If Not @LogonMode
	BREAK ON
EndIf

Dim $FH, $Line, $Managers[], $Count, $Manager, $Count2

$FH = FreeFileHandle()
$Count = 0


Open($FH,"C:\Support\MyInputFile.CSV")

$Line = Readline($FH)

While @Error = 0
	$Line = Split($Line,",")
	
	If InArray($Managers,$Line[3]) < 0
		Redim Preserve $Managers[$Count]
		$Managers[$Count] = $Line[3]
		$Count = $Count + 1
	EndIf
	$Line = Readline(1)
Loop

Close($FH)

Dim $Users[Ubound($Managers),0]

$Count = 0

For Each $Manager in $Managers
	$Count2 = 1
	$FH = FreeFileHandle()
	Open($FH,"C:\Support\MyInputFile.CSV")
	$Users[$Count,0] = $Manager
	$Line = Readline($FH)
	While @Error = 0
		$Line = Split($Line,",")
		If $Line[3] = $Manager
			$Users[$Count,$Count2] = $Line[0]
			$Count2 = $Count2 + 1
		EndIf
		$Line = Readline($FH)
	Loop
	$Count = $Count + 1
Next
Close($FH)

For $Count = 0 to Ubound($Users,1)
	$FH = FreeFileHandle()
	Open($FH,"C:\Output\"+$Users[$Count,0]+".csv",5)
	For $Count2 = 1 to Ubound($Users,2)
		Writeline($FH,$Users[$Count,$Count2]+@CRLF)
	Next
	Close($FH
Next


This does require the use of the UDF InArray so make sure you include it.

This Code sample is 100% UNTESTED.

This is just an example of one way to accomplish your task.
_________________________
Today is the tomorrow you worried about yesterday.