It might be overkill; if each item really needs to be distinct (because it can be individually modified in some fashion, for example), than a GUID is a simple way to do it. It takes up more space -- almost certainly more than you'll need -- but it does have the nice property of being locally-generatable, without requiring any sort of authoritative source for IDs that other, smaller ID forms may require if they need to be unique.
However if items are not distinct -- if you can't modify them, so that once instance of the Shovel of Demonslaying + 2 is always exactly the same as another, then you don't need a GUID. You only need to store the item template that this particular item is derived from. Seven instances of the Shovel are just seven handles referring to the one Shovel template in memory elsewhere.