Возможно я не правильно понял вопрос, но чем не подходит вариант отверстать всё на UL — LI и поставить стиль для LI float: left? Тогда при любом размере окна информация автоматом расположится в максимальное возможное количество столбцов.
Тогда можно попробовать узнавать скриптом screen.width ширину экрана и сделать, например, пересчёт на колонки, потом количество колонок уже учитывать при выводе данных.
Или при помощи jQuery узнать ширину конкретного элемента, в котором необходимо вывести список: width = $('#someElt').width(); и в последствии пересчитать количество столбцов для вывода.