In QGIS is it possible to apply an expression to a join
One solution would be to create virtual fields in both tables, and then use those fields for the join. Virtual fields were added in QGIS 2.6; they don't modify (clutter) the underlying data source, and only exist within the scope of your QGIS project.
To create a virtual field, use the field calculator:
You can do this in both tables as needed. The expressions can be as simple or as complex as you need them to be. Once added, you can then use them in the regular "join" dialog.