(I searched and found another thread about customizing houses but was very different from my idea sorry if this should have been posted there still)
right now all we have are 3 housing sizes, and 2 housing/roofing types. my idea isn't really about adding any more to housing types, but instead allowing us to choose the size we want. would use a system similar to the layout you get with ctrl-L to lay out a floor plan, with a minimum and maximum allowed size. once size is chosen building and roofing materials would be chosen(stone/brick/wood for basic house and boughs/straw for thatching the roof or boards as shingles) and depending on materials and size the number of floors. once those are chosen you get a material list based on chosen size, then you simply load up construction site with materials and build as normal.