An example I found: the string of digits 0123456789 occurs at position 17387594880. In this case, it took 11 digits to describe where to find a 10-digit number.
So I think such an algorithm would technically work, but your “start digit” would be so large it would use more data than just sending the raw file data. Not to mention the impossible amount of computing power needed.
Speaking of palindromes, fun fact: “()()” is NOT a palindrome, but “())(” is.
The first one is like ABAB, the second is like ABBA.