Hola,
A la primera pregunta, aunque comentas que ya has encontrado la solución, pongo un enlace a otro hilo del foro donde explico cómo hacerlo. Básicamente a través de los Field Groups, en concreto con un Field Group llamado DropDown.
Respecto a la segunda pregunta:
En las propiedades de los campos que muestras en una página tienes una propiedad llamada Editable.
En esta propiedad tienes que poner una expresión que acabe dando un True o un False.
Puedes poner directamente la expresión en la propiedad. O en la propiedad puedes poner una variable Booleana, que sea una variable global de la página, y en los distintos triggers de la página decidir si el valor de la variable tiene que ser True o False.
Puedes utilizar el OnAfterGetRecord de la página. Y también, si el valor se tiene que actualizar a la que el usuario actualice el valor de distintos campos, puedes utilizar el OnValidate de esos campos también.
Un saludo,
Cristina Nicolàs