I have done a lot of development with Kentico on Azure so I definitely understand your points. I’ll address them below:
The only real solution here is to use an actual Azure storage account for the developers to share. Emulated Azure Storage is specific to the machine the site is running against and cannot be access from other machines (to my knowledge). It may be possible to access another developer’s emulated storage via IP, but I’ve never tried that.
When I have typically developed for Azure, I would do that majority of my testing using the web app project. I would still set up an Azure project, however, I would comment out the contents of the “ApplicationStartInit” method in the /Old_App_Code/CMSModules/WIndowsAzure/AzureInit.cs file. This is the code that tells Kenitco it’s running in Azure and to hook up the roles. If you do this, you will want to make sure you have a valid CMSConnectionString in your web.config as Kentico won’t know to go look for it in the ServiceConfiguration file.
After I make sure my code is running fine, I will uncomment the above method and usually deploy to Azure for UAT testing. It is possible to run this in the emulator, however, at this point I am usually pretty confident it works and want to go directly to Azure.
Every developer works a little differently so you will need to try out the different options to see what works best. One of the best features of Azure is you can consume any part of you want. In many projects, I would actually have the DB already in Azure, even though I was running the site locally. This caused a minor latency during development, however, simplified deployment when we were ready to go live. Additionally, hosting your DB in Azure from the start gives your backups , restores, and all of the other goodies the platform brings.
Hopefully this help!