Questions on adding a protein to a DNA library
For 1, that is how retroviruses such as HIV work, and of which scientists have utilised to use in gene therapy. It requires a process called reverse transcription.
However, this would only show you the gene the mRNA was from, but no information about its location, or if it is repeated elsewhere.

As for 2, this is to do with the fact that one base cannot code for one amino acid; as there are 20 common amino acids used to make proteins. With 2 bases, you are only getting 16 possible codes from the various base pairs you can create. However, with 3 bases, 64 possible combinations are possible, more than enough to suffice for the 20 needed. This is called the triplet code;
and therefore, there are more possible combinations of the base pairs in DNA than there are amino acids to be made from them. The 'left over' combinations can code for the same amino acids as other combinations, making it the code degenerate. Therefore, it doesn't matter, as the combination is always read in 3s (non-overlapping), and if it codes for a particular amino acid, then that amino acid will be produced at the ribosomes when its corresponding code is read.

I hope this increases your understanding of the topic.

http://www.genetherapynet.com/viral-vector/retroviruses.html (Question 1)
http://www.chemguide.co.uk/organicprops/aminoacids/dna4.html (Question 2)