The InfoPath rich text field supports XHTML. You can shove in whatever
well-formed HTML, and provides the full InfoPath rich text editing
capabilities for users to create and edit as well.
The user does not edit the XHTML. They have a rich text field, which they
edit using the toolbar and such. XHTML is simply the storage format. Drop a
rich text field into a form template and see what happens.