I think you can put all varibles that you want to concatenate behind the append.
for {set x 0} {$x<24} {incr x} {
set data_in {}
set dataout_h {}
set DFFLO {}
append data_in {HDMI_RX_DAT[} $x {]}
append dataout_h {ddio_rx_24b:\ddio_rx_gen:ddio_rx_24b_inst|altddio_in:ALTDDIO_IN_component|ddio_in_87i:auto_generated|dataout_h[} $x {]}
append DFFLO {ddio_rx_24b:\ddio_rx_gen:ddio_rx_24b_inst|altddio_in:ALTDDIO_IN_component|ddio_in_87i:auto_generated|ddio_ina[} $x {]~DFFLO}
eval {set_multicycle_path -from $data_in -to $dataout_h -setup } $l2h_setup_ref
eval {set_multicycle_path -from $data_in -to $DFFLO -setup } $l2l_setup_ref
eval {set_multicycle_path -from $data_in -to $dataout_h -hold } $l2h_hold_ref
eval {set_multicycle_path -from $data_in -to $DFFLO -hold } $l2l_hold_ref
}