Hi Joseph and Clay,
XSL supports sorting but that will require manually modifying your view.xsl. Extract your source files and open your xsl and add the xsl:sort to the dropdown control. Not sure it will work for dropdowns but I know it works for tables, etc., so it should work. This will require an xd:preserve block around the control so that the InfoPath Designer doesn't remove the sort on roundtrip. Let us know if you need an example, and we can hunt one up.
Sorting in code... well, yes, but no on the main DOM. Copy the elements into a separate XML DOM internally and create an index array. Sort the indexes which refer to the items. Then, copy the XML DOM into your main DOM using the indexes That's how you should do it. For an example of how to sort in code (albeit jscript), look at the Asset Tracker solution which ships as a sample in InfoPath 2003 - Greg and I added sort to that.
Lastly, you could sort the data when you query it from the database server by creating a view on your database that sorts the data and recreating your form based on that view. Or, you could use our EnumDB web service to pull down the values and sort them. Here's a link to an article that describes how to do it with EnumDB: http://www.infopathdev.com/forums/t/6399.aspx
I hope this helps!