Escaping a character just means that you are explicitly saying "don't treat this character as a special character". sed
and various other tools use regular expressions, which define various special characters.
The only special character in the email address which you want to replace is the period character (.), which means "any character". To escape it, and treat it like a literal period character, just prefix it with a backslash. You only need to escape the period character in the search pattern - not the replacement string.
Here's how you would do the replacement in all files whose name ends in ".txt" in the present working directory:
sed -i 's/bill@noranthon\.firstname.lastname@example.org/g' *.txt
warning: this command will modify files in which the pattern is found.