Your issue is you are creating the ScrubbedNum2 field in the QlikView LOAD statement, but then tring to join two SQL tables on this field. SQL has no idea what you are talking about as you created the field in QlikView!! Try this:
"client_code" as "ClientCode",
"client_code"&'-'&"suffix_no" as "ContactID",
"contact_name" as "ContactName",
keepchar(phone_number, '0123456789') as "ScrubbedNum2"
SQL SELECT client_code, suffix_no, contact_name, phone_number FROM contacttable;
LEFT JOIN (Contacts)
CallerNum AS ScrubbedNum2,
SQL SELECT CallerNum, Field1, Field2, etc FROM phonecalltable;
This is now performing the join in QlikView and it will join on ALL common field names (in this case just ScrubbedNum2).
Hope this helps,