Here is a script that works with your sample data, and should work with your larger data tables.
Names default to here(1);
// Open the data file
txt_path = Pick File( "Pick a Data File" );
dt_data = Open(
	txt_path,
	columns(
		New Column( "ID", Character, "Nominal" ),
		New Column( "Height", Numeric, "Continuous", Format( "Best", 12 ) ),
		New Column( "Diamiter", Numeric, "Continuous", Format( "Best", 12 ) )
	),
	Import Settings(
		End Of Line( CRLF, CR, LF ),
		End Of Field( Tab, Comma, CSV( 1 ) ),
		Strip Quotes( 1 ),
		Use Apostrophe as Quotation Mark( 0 ),
		Use Regional Settings( 0 ),
		Scan Whole File( 1 ),
		Treat empty columns as numeric( 0 ),
		CompressNumericColumns( 0 ),
		CompressCharacterColumns( 0 ),
		CompressAllowListCheck( 0 ),
		Labels( 1 ),
		Column Names Start( 1 ),
		Data Starts( 2 ),
		Lines To Read( "All" ),
		Year Rule( "20xx" )
	)
);
// Open the Tolerance data
txt_path = Pick File( "Pick a Tolerance File" );
dt_Tolerance = Open(
	txt_path,
	Worksheets( "Sheet1" ),
	Use for all sheets( 1 ),
	Concatenate Worksheets( 0 ),
	Create Concatenation Column( 0 ),
	Worksheet Settings(
		1,
		Has Column Headers( 1 ),
		Number of Rows in Headers( 1 ),
		Headers Start on Row( 1 ),
		Data Starts on Row( 2 ),
		Data Starts on Column( 1 ),
		Data Ends on Row( 0 ),
		Data Ends on Column( 0 ),
		Replicated Spanned Rows( 1 ),
		Replicated Spanned Headers( 0 ),
		Suppress Hidden Rows( 1 ),
		Suppress Hidden Columns( 1 ),
		Suppress Empty Columns( 1 ),
		Treat as Hierarchy( 0 ),
		Multiple Series Stack( 0 ),
		Import Cell Colors( 0 ),
		Limit Column Detect( 0 ),
		Column Separator String( "-" )
	)
);
// Get the column names in the data file
colNames = dt_data << get column names(string,continuous);
// Loop across the columns and get the Tolerances and then go through all
// of the rows in the data table and select the ones that fail
For( theCol = 1, theCol <= N Items(colNames), theCol++,
	theToleranceRow = dt_Tolerance << get rows where( colNames[theCol] == dt_Tolerance:Parameter);
	If( N Rows( theToleranceRow ) >0,
		// Change theToleranceRow from a matrix to a scaler value
		theToleranceRow = theToleranceRow[1];
		For(theRow = 1, theRow <= N Rows( dt_data ), theRow++,
			If( column(dt_data,colNames[theCol])[theRow] > dt_Tolerance:Tolerance[theToleranceRow],
				current data table(dt_data);
				Row State( theRow ) = Selected State( 1 );
			)
		)
	)
);
// Create the text string to save to the text file for all failing IDs
failedRows = dt_data<<get selected rows;
failedText = "";
If( N Rows( failedRows ) > 0,
	failedText = dt_data:ID[failedRows[1]];
	For( selectedRow = 2, selectedRow <= N Rows(failedRows), selectedRow++,
		failedText = failedText || "\!n" || dt_data:ID[failedRows[selectedRow]]
	)
);
// Save the failed text string to a file
Save Text File( "path\to\failed.txt", failedText );
					
				
			
			
				
	Jim