My recommendation is to first download the file to a temporary spot on the live site, then you'll have the file path that you can then create the attachment with! Only way i see, since the other two methods fot he AddAttachment are for a HttpPostedFile (which requires a post to the code), or a GUID of the file attachment GUID (which also requires either a file name, or a httppostedfile to create)
string remoteUri = "http://www.contoso.com/library/homepage/images/";
string fileName = "ms-banner.gif", myStringWebResource = null;
// Create a new WebClient instance.
using (WebClient myWebClient = new WebClient())
{
myStringWebResource = remoteUri + fileName;
// Download the Web resource and save it into the current filesystem folder.
myWebClient.DownloadFile(myStringWebResource, fileName);
}