my problem is not how to set a value. I do this by finding the component
var disabledField = panel.items.get(5);
The problem is who to tell CQ5 to persist this generatedValue that is now on the field on the repository
I've run into this as well. I generally solve it by creating a hidden field that actually stores the submission value. Use some JS in the change event of the "disabled" field to ensure the value (even if it's empty/null) copy into the hidden field. It's kind of annoying, but it works.
This happens because under the covers, ExtJS really just renders prettied up HTML forms and the HTML input behaves this way. http://www.w3schools.com/tags/att_input_disabled.asp