Most, if not all of that you should be able to get from sys.dm_exec_sessions, sys.dm_exec_requests and/or sys.dm_os_waiting_tasks.
Have a go through those DMVs, if you can't get something as you want it, ask here.
Gail Shaw
Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability
We walk in the dark places no others will enter
We stand on the bridge and no one may pass