Only thing I can think of is to attribute the item with a actionid, that sets a time value on it.. and maybe a uid for the value of the buff.
Then when the item is equipped, 'enable' or increase the value of a storage value on the player, and set some addevent/stopevents up so the buff runs out at the scheduled time.
You'd then use that storage value in whatever scripts you want..
So in a onStats change, if you wanna be lazy about the damage increase, or use it in the damage formula for weapons/spells.
And for the increased health/mana, you could make it in an onThink event or something, then just use a standard buff to the character, that lasts for 5 seconds or something, and rechecks every 4 seconds?
To make the buff seem more 'responsive' the moveevent, and an additional login event could create the buffs on the character when you equip/deEquip anything. (login would create the buffs upon login, obviously.)
Only caveat with my method, is that I don't know how to remove the information from every single item that got this buff.
Any items on the ground, in player houses or in a depot for instance, would be to resource intensive to find and 'scour' of the information..
And if we 'scour' players equipped items only when they run out, it makes the system feel choppy.
I'd probably make a onLook event that tells the player when they look at an item when the buff is going to run out, and then when a item has it's buff ran out, just omit the 'buff will run out at xyz time' when they look at the item next.
So yeah, it's definitely possible.