UNION ALL won't work unless you have the same number of columns returned in both queries.
From a performance standpoint, I have heard lectures that swing both ways. One says that it takes more time to perform multiple queries while another says that multiple smaller queries will run faster so it depends largely upon your data. I would try it both ways to see what works best. Personally, I use UNION ALL fairly frequently and don't have any problems with it. My largest database is just shy of 50GB in size so I'm certainly not playing with a huge amount of data...