What is the source for writing names of Haman's sons in a separate column? We see that most megillos are written this way, but where can I find halacha? Shulchan Aruch doesn't seem to be discussing it?
The Talmud Yerushalmi (Megillah 3:7) says about the list that the word איש should be at the "head" of the column and ואת should be at the "end" of it. Some versions (see Masekhet Sofrim 13:6) also mention that עשרת should be at the "end" of the column. The remarks about איש and עשרת are important because we may have thought the song structure didn't include those words and, for example, the last line could read ויזתא עשרת בני המן בן without any gaps.
Now it's clear from the fact that every ואת [and עשרת] can't all be at the bottom of the column that either "דפא -- column" here means row, or that "head" and "end" mean the right and left sides respectively. Many Rishonim note this explicitly (Haghot Maymoniot Megillah 2:12 quoting Ri and Maharam, Haghot Ashiri Megillah 1:9, Or Zarua 373, Semag Asin Derabanan 4, Raavyah 253 in the name of the Bahag, Beit Yosef 691, and more). This is the practice in ancient Esther manuscripts.
The practice of writing the names in their own column is a "stringency" so that איש can literally be at the top of the column and עשרת can be at the literal bottom. This practice presents a number of Halakhic problems in terms of spacing and font sizes (eg. Beiur HaGra OC 691), but it remains quite popular (see the valiant defense of the Nishmat Adam 155). The Vilna Gaon, 3rd Lubavitcher Rebbe, Chatam Sofer, Aruch leNer and others did not write the sons of Haman in a separate column.
The earliest source I'm aware of that mentions matching the top or bottom of the column is the Orchot Chayim (Megillah 17) who mentions "some" who put עשרת at the bottom of the column because of קבלה (tradition?). (It seems from his wording that he views this as an alternative to what he viewed as the "mainstream" tradition of placing איש at the top of the column, not that he advocated doing both and stretching the letters (cf. his comments in 18 about stretching the letter ו in ויזתא).)
The source that most gets quoted through in the Acharonim is the Keneset HaGedolah (OC 691) who develops a theory that while the above proof shows that ואת needs only to be at the end of the row, the extra claim of עשרת at the end of the column found in Masekhet Soferim is to be taken as the bottom of the column not the end of the row. He thus ruled that we should be stringent not to read from a Megillah where עשרת is not at the bottom of the column, even though the Tur doesn't even mention that extra claim regarding עשרת, since many Rishonim (including many of those listed above as explaining "end" as "left side") did mention the extra claim of עשרת at the end. He argues that the Tur must not have seen Masekhet Sofrim's expanded version and he definitely would have ruled like it if had. Many didn't find this convincing (Beit Ephraim OC 70, Chatam Sofer OC 190, Ginat Veradim 4:12). Even the Keneset HaGedolah agreed that if you already read from a scroll that didn't have עשרת at the bottom of the column that you don't need to read it again.
In the Kovetz Migdal Dovid (Lubavitch) has a nice section on this whole inyan. Its a machlokes in short. With varying opinions. Its starts on pg. 148.