Then indeed, @miguello 's approach is the key - just activate row order() to get the lines right:

Graph Builder(
Transform Column( "Concatenate[sweep,batch]", Character, Formula( Char(:sweep) || "_" || Char( :batch ) ) ),
Variables(
X( :X ),
Y( :Y ),
Overlay( :"Concatenate[sweep,batch]"n, Overlay Encoding( "None" ) ),
Color( :batch )
),
Elements( Points( X, Y ), Line( X, Y, Ordering( "Row Order" ) ) )
);
In addition:
For sorted data (with ascending X values per trace)
dt << Sort(By( :sweep, :batch, :X ));
there will be a cool new setting in JMP20: Row Ascending
https://community.jmp.com/t5/JMP-Wish-List/Graph-Builder-Line-possibility-to-add-breaks/idc-p/929879...
-> It makes it really easy to generate plots like this:

Graph Builder(
Variables( X( :X ), Y( :Y ), Overlay( :batch ) ),
Elements( Points( X, Y ), Line( X, Y, Ordering( "Row Ascending" ) ) )
);