For your deployment ...
i) Custom SQL usually slows down workbooks, sometimes you have to use it but try not to
ii) If it's a simple UNION, the do it in the data pane of Tableau Desktop (I'm assuming that UNION is supported in your RDBMS for Tableau)
iii) Performance, but again you might have to use it.
How does your connection change on deployment ? If it's simply a server name change then you might be able to simply edit the connection details