WHERE Exists([Grant Number], Keepchar(EPA_ID, '0123456789'));
Within the context of this load, EPA_ID refers to the original column in the source, not the calculated column you've created in the load. This is similar to SQL where you can't reference a column aliased in the SELECT from the WHERE.
Load * //PRECEDING LOAD
WHERE EXISTS(GrantNumber);//NOW WE CAN SET THE WHERE CONDITION TO EXISTS() MEANING LOAD RECORDS IF GRANTNUMBER OF abstract MATCHES THE PREVIOUS GRANTNUMBER
text(EPA_ID) as EPA_ID,
text(EPA_ID) as GrantNumber; // SETTING THIS AS TEXT TO PROVIDE A STRING MATCH FROM THE PUB TABLE
//WHERE "EPA_ID" = "GrantNumber";