Typically, when it is too cumbersome to set all the conditions for a particular field or you may have multiple fields I would use a "flag" field. Create an extra field, which is boolean or numeric and then programatically set it to true, to turn on read-only or false to turn off. Then for the affected forms just have them look at the flag field and if it is true = readonly. etc.