You are creating a tough job (given the way software works) that can only be simplified by accepting a new mindset on sorting. In reading sentences (and in word processing to create such sentences), we think left to right for the whole line and then start a new line. Anything that gets inserted in the middle pushes the end further along the line and maybe dropped to the next line if enough new material is inserted. If there is no more space at the bottom of the page for another line, we turn the page. Columns are just little pages. You go along inside the column from left to right, then down a line inside the same column, and at the bottom of the column, you come up to the top of the next column. It is only when you run out of columns that you turn the page. In order to do what you are thinking, you'd have to be thinking in terms of being able to alphabetize all the words within a sentence or paragraph - which nobody has ever considered because it would instantly render such sentences into gibberish.
Sortable databases don't go down the page and then back to the top for a continuation of the list. It is just too difficult to program a look-ahead to see how many lines are left in the column before instructing the report generator to go back to the top of the page to start a new column, or if in the last column, start a new page. Thus, a sortable list that has only one (or two, for the checkmarks) fields, yes, you'll waste paper as the list will occupy the single column with all the blank space on the right half of the paper.
So... what to do, what to do, said Pooh to Piglet as they walked through the Hundred Acre Woods...
It will require some manual intervention in Excel, but here's how I would do it. Make your list in a single column. Add to it as time allows. As needed, sort the column. Now that you have a sorted column, think about page layout. Go to File/Print Area and set a print range that is only as tall as one page, but let the range go sideways for quite a ways. It will seem odd to have a print range with a huge blank space to the right and the actual data spilling down below the establish boundary as if falling through a hole in the bottom left corner, but trust me, go with it for now and save the file.
After the file has been saved, start cutting and pasting (or block and drag with the mouse) to manually create the additional columns. Let say you have 500 movie titles listed from A1 to A500. You want to print 50 titles per column and 5 columns wide will fit on a page. That means when you are done, there will be 500 titles @ 50 per column is 10 columns @ 5 per page is 2 pages. To get there, cut (or block) titles 51 through 500 (currently in A51 through A500) and then paste back to (or drag up to) cell C1 (I'd leave a narrow blank column between data columns to keep things separated, but that's just because I do it that way...) Now cut and paste titles 101 through 500 (by now, in cells C51 through C400) up to E1. And so on, constructing a new column of text with whatever is left hanging out the bottom of the 50-row print range, until the last column doesn't have anything more hanging out the bottom.
Now print it. Because you set the print range to a size that is only one page high, the range will create page breaks going across the range. Thus new pages will be started at columns 6, 11, 16, etc. When you have printed it, DO NOT SAVE it. Otherwise you'd have to push all the columns back to the single column when you start adding more titles and want to resort the list. The file that you previously saved has all the same titles, but was left in the single column.
This method will require you to rebuild the print columns each time you extend the database, but at least you'll be able to sort the list everytime you add new titles to the bottom.
But whoa, ... as I sit here building this spreadsheet in my head, you might take the general structural concept into a two-sheet workbook if you feel up to it. On the first sheet, just make your list going down forever. Alphabetize it and leave it in a single column list. Now on the second sheet, build a single column of all formulas of an absolute reference to the corresonding cell in the first sheet. Thus typing something into the list on the first sheet will cause the same title to appear on the second sheet. After you have completed the second sheet's full column of absolute references, construct the additional columns by pulling the rest of the column up, as before. Now, cells C1 through C50 on the second sheet will have absolute references to cells $A$51 through $A$100 of the first sheet, and cells E1 through E50 on the second sheet will have absolute references to cells $A$101 through $A150, etc. Set your print range on the second sheet and it will print in columnar format whatever it is drawing from the absolute references to the data in the single column of the first sheet.
Does it make sense? If not, email me through the link on the profile (or you have it already from previous correspondence, hasn't changed in all these years) and I'll shoot you back a structured worksheet to just fill in the first page column.