I think only the usage of 'as','alias' keywords (and in your case, 'Exists') does not affect optimized load.
Perhap, since you are using Exists in conjunction with 'and', QlikView isn't treating it as optimized.
You could use Exists twice on the same table (say, Table1) but store this table into a QVD. Drop the table and read the QVD instead. If you are implementing a layered structure, you can even implement this procedure at an earlier stage and read the QVD in this stage.
Hope that helps.
You could create a field which is the concatenation of these two field, and do the exists on that. The concatenated field must exist in the qvd so it must be created when the qvd is built. You could drop the concatenated field at the end of the load if it is not required in the final model.