If you have Outlook 2003, it is a fairly simple process as detailed here:
http://www.informit.com/articles/article.asp?p=330328&seqNum=2&rl=1
Ig you feel like doing some coding for Outlook, there is an article here with an example of doing it programatically:
http://www.outlookcode.com/d/formpicture.htm
As for doing it to an AD contact, there might be an application that does it, but it would require a schema extension. Also the size of the SYSVOL might increase drastically and also have a direct impact on replication due to those pictures being replicated to each DC.