Download the CS6 SDK. Under the "open" folder you will find the code for the LinksUI panel. This is the closest you will get to a multicolumn list box in C++, if you want to stay in C++.
The tree view widget support dynamic load of sub nodes in a tree. Also it will only request widgets to drawn when they are in view (as far as I remember).