Is there any way to create a virtual machine without Public IP address in Windows Azure? Even if you are creating a VM in virtual network we cannot control the Public IP assigned by Azure. Is there any way to disable or delete the public IP assigned by Azure?
No. A VM will always have Public IP Address. But you can not assign any Endpoints (leave the VM without any Endpoints defined) - this will effectively block all and any Internet traffic for your VM before it event reaches the Internal Data Centre network.
There will always be a Public IP address assigned to any Cloud Service with something deployed. It is up to you to decide whether to allow Internet traffic to your VM or not. And this decision is made via defining Endpoints.
EDIT
Using Azure Resource Manager you can create a VM without Public IP. You can control this setting on the Network Adapter. Within the IP Configurations for your Network Adapter in Azure Resource Manager you mus specify NONE for the Public IP Address setting.