Finding the similarity between large text files
My first question is: is there an algorithm that already exists for this? If not any thoughts and ideas are appreciated.


Yes, the problem you expose is widely studied in computer science/machine learning and there are dozens of algorithms to do what you are looking for. Depending on the precise specifications of what you are looking for, the complexity of the algorithm may vary.
When I happened to have to perform this computation, I personally used the TF-IDF approach. 

As I said it depends a lot on what you want to achieve and even a minimum change in the initial specifications can lead to a drastic change in the algorithm. You could also take a look at this link.