At that point, I piped up and offered that it wouldn't be too hard to do something like that using javascript and cookies. I thought something that the end-user could maintain themselves would be better and, anyway, I was looking for a reason to try doing some work with javascript and cookies. The downside to running all of this on the client, of course, is that preferences aren't carried across machines let alone browsers. Oh well, you take the good with the bad. The list is displayed by category, and the category elements are ordered alphabetically.
Every element has a check box.
If an item is checked it will be included in the cookie for the current surfmenu. The former just displays one monster column that is as long as your list of links. There is a fancy dhtml menu to help you hop, skip and jump from one category to another. In 'horizontal' mode, the list is presented in rows, each row containing a user-defined number of columns. Like 'choose' mode, links will be displayed by category, with the list of items for each ordered alphabetically.