The first mod could be done by command blocks (though i'm not sure the exact commands). The second one would take a bit of time, since I would have to make an egg version of EVERY single item in the game and then somehow make it convertible to a throwing item. The final one similar to the second, once again needs me to configure things for all items in the game. Sorry, but all of these would take many weeks if not months.
I thought it'd be possible to add a button that creates a thrown entity with the texture/model of the held item and read it's weapon damage if possible. Redoing every single item as a throwing egg would indeed be ridiculous. I don't know if there's a consistent way of reading these things in java though, I assumed there should be.
Also thank you for the info on the command block thing, I'll look into that :>