Try this:
%let codes = '78060', '7784', '4659', '07999', '46611', '77989', '5990', '53081', '27651', '77189', '44619', '77982', '77931', '7746', 'V290', '77182', '7755', 'V070', '6910', '78791'; 
data patients;
 set source_table;
 array a_dx dx_code1-dx_code41;
 do i = 1 to dim(a_dx);
  if find("&codes",cats("'",a_dx,"'")) then do;  /* You have a true result, no point testing remaining array cells */
   output; /* Save the current record */
   return; /* Move on to the next record */
  end;
 end;
run;