In particular, the human file is homo_sapiens_variation.txt.gz: The variants listed are the Ensembl Variation databases' set of 1000 Genomes project (http://www.1000genomes.org/) and Catalogue of Somatic Mutations In Cancer (COSMIC) v71, imported directly from COSMIC and via Ensembl Variation, protein altering variants (SO:0001583). COSMIC v71 variants are the last freely available somatic variants from COSMIC before their licence change; therefore the accuracy of the information provided for a COSMIC variant should be verified with COSMIC. (Text from README file in that directory)
These files should help you map from Ensembl to UniProt for these variants.
Please don't hesitate to contact the UniProt helpdesk in case of questions.
Protein dataservices: http://www.ebi.ac.uk/uniprot/api/doc/swagger/#!/coordinates/search maybe able to provide a solution to your problem. Though at this stage it will not return the protein sequence mapping when given a single nucleotide genomic coordinate. If you have the ENSG/ENST/ENSP identifiers you can get the genomic coordinates for each exon transcribed into the final protein sequence. The coordinate service returns the protein sequence range within each exon. From there you will be able to calculate protein sequence location and get the wild type amino acid.
If the COMIC variant existed in v71 of COSMIC you can get all the annotation information UniProtKB holds concerning the variant using the variation dataservice taking the UniProt accession as your starting point.
Both the coordinate and variation dataservice will return data for reviewed canonical sequences, isoforms and unreviewed TrEMBL entries.
Thank you for your answer! As you point out, Ensembl and consequently UniProt only have access to COSMIC v71. One of the things I am trying to accomplish is to map variants in a more recent version of COSMIC to UniProt.