Personally I like these sorts of threads. Sometimes you get some really fun ideas in them and it's always fun thinking about how you could implement them.
You can't disable run exactly but you can make it unusable. Set player.tired = true every level and adjust everything that sets it false.
Giftdropping is an exploit in the being AI, which you can change, so you could disable giftdropping by modifying all monster AIs to ignore items.
Removing items on a timer, realtime or turn based, would be very tricky. I think you'd have to scan the level every tick for items, push new ones into a queue with a timer, and destroy them when their timer is up. Lot of busy work as items get picked up, used, or destroyed naturally though and it might not be possible to 100% know what items have been 'dropped' by a monster vs a player.
A modified pacifism where you can attack after getting most health globes would mean generating and totaling extra health globes every level, either counting them as you use them or scanning the level periodically since they can be destroyed, and adjusting the OnFire hook to only work if the globes are collected and the wielded weapon is the scythe. And creating a new scythe with the modified alt fire. A fair bit of work overall and a rickety solution but doable.