In LiveCycle Designer you can use the "$host.resetData()" method. It has an optional list (separated by commas) of the names of all fields to reset. If not present or empty, all the fields in the form are reset to their default value. So one could build a list of form field names or use FormCalc to compute them.
From the "LiveCycle Designer Scripting Basics" (
http://www.adobe.com/devnet/livecycle/articles/lc_designer_scripting_basics.html ):
"To reset the default values add a click event to the Clear button. You need a dynamic reference syntax expression because the detail is a repeating subform and must be reflected in the reference syntax expression. In this situation, it is easier to build the resetData parameters separately."
var f1 = this.parent.somExpression + ".TextField2" + ",";
var f2 = f1 + this.parent.somExpression + ".DropDownList1" + ",";
var f3 = f2 + this.parent.somExpression + ".NumericField1";
// ...and pass the variable as a parameter.
xfa.host.resetData(f3);