Is there any reason to keep special evolution items after I've used each of them? Sun Stone, King's Rock, Metal Coat, Dragon Scale, Up-Grade
That depends partially on your play style - If you are just collecting Pokemon to fill out your Pokedex and "catch 'em all", then you may never need to use an Up-Grade on more than one Porygon.
If, however, you catch a Porygon with better stats, you may want to Up-Grade and train THAT one into a Porygon2 as well.
Also, Pokemon Go only has up to Gen3 Pokemon in-game currently, as more Pokemon are added over time, there may be more Pokemon to use these evolution items on. While there is certainly no reason to keep every evolution item you get (backpack space is limited, after all), it might be worthwile to keep at least one of each on-hand.