No. You don't need to pay to store containers.
> 2. How is a Dockerfile versioned? Can I update it? Or do I need to redeploy
Once the Dockerfile is built, you'll get a URL for that. It's a immutable URL and you don't need to re-deploy again. It'll sleep if there are no HTTP requests. If there are it'll start again.
> 3. Is pricing for containers granular by time or per request to a container?
It's based on the container running time. But we'll have a another blog post on this soon with more info.
> 4. How can these Dockerfiles talk to each other? Is there an API or method to fetch specific url's for each container?
There's no internal API to communicate with each other. But every docker container has a URL. You can use our [alias](https://zeit.co/docs/features/aliases) feature and communicate with each other via HTTP.