How can I set a field when original lookup is NULL or isn't in the list?
Arguably, you would be better off with the NULL since that's the absence of a value, rather than arbitrary text indicating the absence of a valid value... but:

    -- 8&lt; -- snip -- 8&lt;-- 
    ldap_full.thomsjobfamilycode,
    ldap_full.thomsjobfamilydescr,
    ldap_full.thomsrecordtypedescr,
    sup_email.mail AS supemail, 
    CASE WHEN ldap_full.thomslocationcountrydescr IS NULL 
         THEN 'hey null source data here'
         WHEN reports_regionnames.regionname IS NULL AND ldap_full.thomslocationcountrydescr IS NOT NULL 
         THEN 'my lookup table needs something'
         ELSE reports_regionnames.regionname END AS regionname /* &lt;&lt; updated from comments below */
FROM
    ldap_full
    -- 8&lt; -- snip -- 8&lt;-- 


The last column selected will be the output of the CASE expression.  

When ldap_full.thomslocationcountrydescr IS NULL then we return one string... otherwise when we didn't match the lookup table, yet ldap_full.thomslocationcountrydescr isn't null, we return a different string... otherwise (ELSE) we return the original value, from reports_regionnames.regionname.

The first valid match wins.  

http://dev.mysql.com/doc/refman/5.6/en/control-flow-functions.html