> There is no "get by URL" method for lists in the client object model
> that I am aware of.
> 
> About the closest thing you have is a **GetFolderByServerRelativeUrl**
> on the Web object:
> 
>     ClientContext.Web.GetFolderByServerRelativeUrl(url)
> 
> Depending on what you want to do this might work for
> you...unfortunately you can't get the parent list from the folder
> object like you can in the .NET api.

Source - [Similar question][1]

Since you can't get a list by URL so I would assume you can't get a document by url either, but you can try doing it this way tho,

    var fileItem = Web.GetFileByServerRelativeUrl("server/relative/url");
    
    context.Load(fileItem); //you will probably need to load the ListItemAllFields property here.
    context.ExecuteQuery();
    
    var listItem = fileItem.ListItemAllFields; 
    
    Console.WriteLine(listItem["Title"]);


Source - [getlistitemstrurl-equivalent-for-clientcontext][2]

Hope it helps :)

  [1]: http://sharepoint.stackexchange.com/questions/17489/how-to-get-list-by-url-using-client-object-model/17504#17504
  [2]: http://sharepoint.stackexchange.com/questions/43833/getlistitemstrurl-equivalent-for-clientcontext