I'm looking for a stored procedure or existing method that logs and provides information on the processes and locks involved in a deadlock when it occurs.
dbcc traceon (1204,1205,1206, 3605) will print handful of deadlock related information to the errorlog. I don't think any customized SP, can do more than this unless you keep running server side profiler.