When people refer to me on stackexchange websites they call me @H2ONaCl. Where did this convention arise from? If it were taken from my email address, the @ symbol would be at the other end of my name so that does not appear to be the source of this convention.
Its first popular use seems to have begun on Twitter. It was formalized on Stack Overflow in January 2010. http://blog.stackoverflow.com/2010/01/new-improved-comments-with-reply/
Old IRC (internet realyed chat) services used to offer features that would indicate (in a different color or graphic effect) that a particular message - among tens or hundreds in a crowded chat room - was directed to you or someone in particular. Old school programmers kept the use of it as a way to directly say something to someone in particular. The use of it in Twitter is a re-introduction of this practice.
More and more, even on applications that won't offer any particular effect to respond the existence of the @name convention, people is using it to diferentiate the destination of the message. Like:
@Hugo: it may be now a ELU question, but yes, it is a programmer's thing @aedia: totally agree with you.
When the standard "ASCII" TTY character set of 63 printable elements was laid out (by engineers, not linguists) ca 1960, there were several character positions left unassigned, and so somewhat random picks were used to fill them in. "@" was one of those characters chosen.
And once the "@" character thus became available it was, since it had relatively little use in (pre-existing) standard English texts, often adopted to have computer-related meanings, such as the separator in an email address.
As to why the designers of Stack Exchange chose that specific character it's hard to say (ask them!), other than it was "available", and the "at" connotation (plus the association with email addresses) fit fairly well.