A fairly standard way of using fieldsets to contain form elements is just to use it as a basic building block, like a div. Think of it as a containing div that has semantic value and that you can use the legend element in. Fairly basic XHTML for this:
(The div is pretty necessary for IE6 and handy nonetheless.) Then in CSS you format the fieldset and such accordingly. For instance, you'll usually want to suppress the normal border a fieldset is given.
fieldset { border: 0; }
fieldset.display { border: 1px solid #cccccc; }
/* You can always invert this. Up to you. */
There's a lot of other things you'll need to do, but that'll get you started--it's pretty much just treating it as a semantic block element, like a div but with meaning, from here. Group your elements into logical groups, and if you ever need to differentiate it from the rest of the form, all you have to do is change the fieldset's class and add a legend.