To add a new field to a form in XML you just type:
<record model="ir.ui.view" id="sale_margin_percent_3">
<field name="name">sale.order.line.tree.margin.view.form</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='order_line']/tree//field[@name='price_unit']" position="after">
<field name="sale_margin_percent" groups="base.group_user"/>
</xpath>
</field>
</record>
which would add "sale_margin_percent" field after "price_unit" in "order_line".
So far, so good.
However, what would you need to add to specify that the new field has a given "on_change" attribute?