Hi
I think you better create a attribute and make it readonly on the form.
regarding adding a textbox at run time, I think it may be possible on crmForm.Load() event using javascript & dhtml. but it will be non-supported.
Muhammad Ali Khan
My MS CRM blog