Is it possible to let customers enter their email on individual product pages if the stock is 0, and then automatically send them an email when the stock goes above 0 again?
This is not currently possible out of the box with Commerce at time of writing (Sept 2016).
You could write a custom plugin to do it, which would basically keep a table of these people-to-contact, and run a task (or use a controller you trigger by cronjob) -> to send out the emails at such a time the product is re-stocked.
It wouldn't be spectacularly difficult to implement. Here's a rough sketch:
A form on the site to accept the email addresses -> that form posts to a controller in your plugin - which stores a record of the product, customer email, and date emailed (date emailed is initially null).
You then have a task that periodically runs and checks these records - for each record, if there is no date emailed, check the stock of the product - if greater than zero, send an email and log when it was sent.
I made a plugin to do this thanks to Jeremy's above answer. It's my first Craft plugin BTW.