Prior to 1.9, spawn eggs used damage data in order to determine the mob they would spawn, with the damage value corresponding to a numeric entity ID. This is fine for mobs which normally have spawn eggs, but they can accept any entity ID whatsoever if you can get one.
In 1.1, these would spit out whatever the entity in question was when used, no questions asked. In the case of paintings and items, this causes a game crash, and several others will just do nothing. Here's a full list:
(1) Item - game crash
(2) Experience Orb - works
(9) Painting - game crash
(10) Arrow - works
(11) Snowball - works
(12) Fireball - nothing
(13) Small Fireball - nothing
(14) Ender Pearl - works
(15) Eye of Ender - works (goes to origin)
(20) TNT - works (instant)
(21) Falling Block - nothing
(40) Minecart - works
(41) Boat - works
(48) Mob - nothing
(49) Monster - nothing
(53) Giant - works
(63) Ender Dragon - works
(200) End Crystal - works
1.2 made changes such that none of these spawn eggs would work anymore when used, so 1.1 is the only full release in which the effects of these can be shown. Entities added after the fact not intended to have spawn eggs (e.g. firework rockets, iron golems, withers) do indeed have spawn eggs, they just don't work for this reason.
Spawn eggs would gain a use in 1.8 again since they can be used on spawners to program them, so even if they no longer function to spawn their entities directly, they can still live on to the present day through spawners. I may make a video on this in future.
1.9 and 1.13 made fundamental changes to spawn egg handling which required the spawn egg to specify NBT rather than use numeric IDs. Via commands, spawn eggs can still be obtained that spawn weird entities like these, but it's just not the same (especially as of 1.13, where there is no "generic spawn egg" item ID; you need to modify one of the existing, entity-dedicated spawn eggs instead, which ultimately doesn't make much sense as why should a bat spawn egg spawn a lightning bolt?)
Currently, outside of cheaty methods like cross-world commands, there are no known ways to obtain these strange, strange spawn eggs in Survival. Currently the only known way to get a nonstandard spawn egg is via brewing transmutation, which will only yield a spawn egg for entity ID 0 (which is an invalid ID no entity uses): https://mcdiscontinued.miraheze.org/w...
If anyone could figure out a way to obtain eggs like these via obscure survival methods, please do!
I prepared these eggs via creating a world in 1.3.1, using the give command to give myself a stack each, and transferred that inventory data to a 1.1 superflat world. I can provide a world download if people really, really want one, but it's probably easier for you to just get them yourselves via similar methods. Inventory editing is rather simple, after all.