There is an option to disable editing on layers inside a web map. This option is meant primarily for layers, such as shapefiles, that have been uploaded and stored directly in the map (and not as an item in my content). Lindsey, you are correct in saying that if you have a hosted feature layer and editing is enabled on it, disabling it with the option inside the map will only prevent edits from within that particular map. If you add the layer to another map, it would be editable. In order to disable editing on a feature layer, you have to do it from the item itself, by editing the item details of the feature layer. Then it will not be editable via a map or programmatically via REST calls.
The current solution in a pure hosted environment is to create a matching tile layer published with your feature layer. This is not an optimal solution because the tiles will quickly become out of date as edits are made, and you will need to recreate the tiles. We are currently working to better support this scenario in the hosted environment, where organizations want public access to view the layer, but limited editing access.
If you have your own ArcGIS Server, you can publish a map service with features access enabled. The public map would reference the map service, while those that need editing would access the features.
Thanks,
Mike