RE: Retrieve all Display names of columns contained in a view by ViewId
With the SDK, you can query the savedquery entity by savedqueryid field (GUID). Be sure to return the field named "fetchxml" from the savedquery record.
Once you have the view's fetch xml statement, you will need to parse the xml. You can identify the fields in the view by getting the "name" attribute's value for each "attribute" node. See the SDK for a sample of fetch xml. You'll see that the xml contains attribute nodes.
Once you have the fields in the view, you can query CRM's metadata, using class RetrieveAttributeRequest, to get the display name of each of the fields.