Can a Database request automatically remove itself from the queue after a delay?
From Oracle 11gR1 you can use the WAIT instruction in DDL:

lock table t in exclusive mode wait 10;


This will wait 10 seconds before giving up.

The WAIT instruction has been available for a long time (9i) for DML:

SELECT * FROM t FOR UPDATE WAIT 10;