I still dream of the day they'll let us set up different availability zones. Not that I'm sure this wouldn't occur, mind you.
Dynos already run in different availability zones: https://devcenter.heroku.com/articles/production-check You can take that a step further by running dynos in the European (eu-west-1) region: https://devcenter.heroku.com/articles/regions
It's not guaranteed. As I understand it, it's random.
And as for regions. They only help you locate content to a closer region. You cannot use them for balancing/redundancy. As any data or third party add-on you use, will manage it's data in it's own specific zone. Thus creating latency issues.