Think of an id as a global url based identifier for the specific entity. It can be any url you chose but is typically based on the official url where the entity is found with maybe an extra anchor to indicate which entity on the page.
As Nikant motioned, Google currently only thinks at the page level. They don't connect entities across pages by their id. So, with regard to Google the only real use for ids is to connect entities within a single page. Two entities with the same id get merged which lets you define entities in different parts of the page and have them reference each other.
Google just removed id from it's LocalBusiness guidelines. Probably just to simplify things by removing something that is not required.
url is a way to indicate another page which is the official page for an entity. In this case it should exist as a real page. This is more likely to be of use to Google as a way to connect an entity with a page.