The following link shows a customization for a template list, which allows you to have multiple elements in a single row:
http://wiki.blender.org/index.php/User:Mont29/Dev/UI_Template_List_Enhancement
At the top of the page, it says that this method has been replaced and to refer to release/scripts/startup/bl_ui/properties_data_mesh.py for examples. However, when I look at the code there, it seems like they are just using regular old template lists:
row = layout.row()
rows = 2
if kb:
rows = 5
row.template_list(key, "key_blocks", ob, "active_shape_key_index", rows=rows)
col = row.column()
Any suggestions?