Is there a performance gain in specifying the table name in joins and using explicit cast?
It is a good practice to use aliases to qualify tables etc

Select a.c1, b.c2
From table1 as a
 ....


However, that has very little to do with performance. Identifying each table etc is only a fraction of what the optimizer does and I would be surprised if it even is noticeable.