Custom post types, disable fields

To begin with, adding an _ to the start of the custom field key will make it a hidden field not available for editing from the post writing screen.

ie. using _address instead of just address.

I think this is what you are looking for..?

If you then want to display these hidden field values (read-only) on the post writing screen then you can probably add a metabox that will output the display.