This is an excellent idea!
Currently, I intercept a forge event when an item is about to despawn, and add additional time if the item is not on the exclusion list. I could add the priority check along with this event. Also, to get the total item count, I could possibly tally the items when the entity item joins the world. This method would not be an immediate fix when someone maliciously grief a server, but it would allow the item to bypass its persistent status in order to stay under the max entities.
However-
I don't know how many item entities would lag a server; it seems possible to have hundreds of players on minecraft at the same time in different locations. Having a max entity count too low could defeat the persistent status effect. Possibly instead of having a max item entity count for the world, there could be a limit per chunk.
The most players I had my server at one time was six Despite the server lag generated due to Dynmap and world gen, I had BuildCraft pipes spew out hundreds of items out on the ground, a few full chests blown up from creepers, a lot of TNT/Nuke explosions, skeleton arrow drops from sunrise. It seems, normal gameplay is not a real issue, but I need confirmation on that.