You can get the commands that are running in the database with the following query:
select cmd from sysprocesses
To find locking information you can join master..syslocks
and your_db..sysobjects
to find out what locks exist on the object you are trying to access. syslocks.type
indicates the kind of lock that is in place, and those possible values can be found here:
select object_name(id), db_name(dbid), type from master..syslocks
where dbid = db_id("your_db")
Hopefully that helps.
To find if the lock is tied to a reorg, I think you should be able to join syslocks.spid to sysprocesses.spid where cmd = "REORG" or something like:
select p.cmd, p.spid, l.type from master..sysprocesses p, master..syslocks l where CMD = "REORG"