Can multiple Oracle databases share a single parameter file?
No, you would have to use separate parameter files/spfiles for each database.  As you've pointed out, you'll need some settings to differ (locations of files, database name, etc.).  In many environments, you'd want to adjust memory and other performance settings differently because the development environments often don't have nearly as much RAM as the production environment.

Even if you could share a parameter file, though, you wouldn't want to.  Changing a parameter should involve some amount of development and testing just like changing code.  So you would want to make that change in dev, validate it, and promote it up just like a code change.  If you were sharing a parameter file, you'd have to make the change in all the environments simultaneously which somewhat defeats the purpose of having multiple environments.  If you make a change in dev that doesn't work out, you need to back that out just like you would back out a code change.

You could certainly take a backup of the production parameter file and copy that down with whatever changes are necessary to the lower environments.  You could use whatever mechanism you use today to manage code deploys (I'm assuming some sort of source control system and build process) to version those parameter files and to deploy them so that you know what the differences are and why (i.e. dev uses a lower memory_target in general, dev has global_names set to true because you are testing that out for project X but that hasn't been promoted to production yet).