I think the easiest way is to set a quota of 0 B for all affected users (as admin) in the users panel. This will disable uploads for them. (It is possible to set a default quota by clicking the settings cog wheel on the lower left side of the user settings page)
You will have to share files with those users, so they can open anything
Alternatively, depending on your requirements, you could share a folder by public link where you can restrict uploads and/or editing, this would not work with WebDAV clients, however.
You might want to try to setup an external storage for this. External storages have a “read-only” flag you can set, and they’re also prepared so you can add data from outside of ownCloud.
Users will still have their own personal space within ownCloud but out of the external storage.
For the particular external storage choice, it’s completely up to you. Local storage might be interesting, but you need to enable it explicitly in the config.php file (it’s disabled by default for security reasons). Other than that, it depends on where the files will be and how you want to access to them.