If you want the user to be able to use the cluster to enter or edit data, the cluster (and the array) needs to be a control. Programmatically, you can use write local variables or property nodes to write to a control. Look at some of the local variable example VIs that ship with LabView. Just be aware that using local variables to update a large array will cost you a big performance hit.
With the cluster as a control, every element of the cluster is a control: you can't stop the user from updating any item. However, you can programmatically restore the value of cluster items you don't want the user to modify. You may need to use an event structure to impliment this.