How should I setup a table of temporary/transactional items that I only need for a few days or weeks?
First, check execution plan for DELETE - may be you'll get additional ideas.

Second, I suggest you to choose from two standard patterns for such tables.


Use DELETE TOP(N) to remove data. N should be chosen
experimentally.
Use set of tables (e.g. 10 tables) to store data by day or week and "rotate" it periodically. In this case you can TRUNCATE "old" tables which is much faster than DELETE.