No your code will not give you what you want as the towns in BldMstr are NOT in Towns, try this instead;
select town, fullname, ccode, county from Towns where ... ;
union ;
select BldMstr.town, space(21) asfullname, ;
BldMstr.ccode, county from BldMstr ;
orderby1intocursor curTowns