I would most definitively not use a GUID for that. Why, to what avail?
A GUID has 128 bits and yet is not guaranteed to be unique (the likelihood is compelling, but there is no strict guarantee). Sequential integers take anywhere from 32 to 64 bits and are guaranteed to be unique (until overflow happens). But that's not an issue.
Even if a thousand bosses die every second, and each drops 10 lootable items, that's almost 5 days before a puny 32-bit counter overflows. Loot doesn't stay on the ground for 5 days, and you couldn't store 4 giga-items in memory anyway. You won't live to see a 64-bit integer overflow at that rate.
Further, do you even need the loot to be individual? I say no.
Given your description of being able to pick up an item and do "anything" with it, it's perfectly adaequate to e.g. pick up a "generic template" item and convert that to a unique item as soon as it enters the inventory (or maybe even when it's actually modified!). You can have several different but similar templates with the same human readable name or you can attach both a template plus a modifier to each item if you want some variation (so there exist goblin killing swords +17 and goblin killing swords +18 that you can pick up).
But even if you want every single item to be a fully fledged individual item from the start, using a 64-bit sequentially increasing integer will do. Unless you plan to generate more than 10,000 of them every second for the next 5 million years. Mind you, it might be troublesome having a 5 million year uptime on the server.
Of course, a GUID will "work fine", but whenever the words "many thousands" appear, you usually want to keep stuff as small as possible.