TapiRex caller id software shows a contact for an incoming phone-call with image, name and company.
Microsoft Outlook is supported as source for the addresses as well as any other ODBC-database (like Access, mySQL, SQL-Server, ...). The program can even show incoming calls on any telephone plugged to any computer in your network (client-server mode). Any developer can extend the program with its open architecture. An SDK is available from the website. Many free plugins are available (like Speech output of caller, run any application on a call, notification and call history in Microsoft Media Center, ...).