It is feasible -- Jimmy's post above has the gist of the matter. You'll need to do the following:
Save your form as source files
Find the main schema (.xsd) file for the form (default is 'myschema.xsd')
Modify the schema to include an xsd:any node where you want to be able to add elements
Open the manifest.xsf in design mode and 'Save As' to repack your template
One way to get a feel for the schema structure would be to create a blank form, add some fields to it, save as source files, and look at the schema. Compare that to your schema, and see the difference. For example, myschema.xsd when the schema is created in the form looks like:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xsd:schema targetNamespace="http://schemas.microsoft.com/office/infopath/2003/myXSD/2008-10-29T14:17:07" xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2008-10-29T14:17:07" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="myFields">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="my:field1" minOccurs="0"/>
<xsd:element ref="my:field2" minOccurs="0"/>
<xsd:element ref="my:field3" minOccurs="0"/>
</xsd:sequence>
<xsd:anyAttribute processContents="lax" namespace="http://www.w3.org/XML/1998/namespace"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="field1" type="xsd:string"/>
<xsd:element name="field2" type="xsd:string"/>
<xsd:element name="field3" type="xsd:string"/>
</xsd:schema>
You can see where the xsd:anyAttribute node has been added.
Do make sure you keep a backup copy of your form before modifying template files -- better safe than sorry!