A 5 inch substrate is probably a little much for a 20 gallon tank.
My first marine tank was 20 gallons and it was a pain in my a**. Smaller tanks are a lot harder to take care of then larger tanks. Amazingly enough, when I upgraded to a 33 gallon it made a HUGE difference in my routine.
Anyway, get some sand. If you can, get a couple of cups of established sand from a friend or buy some from the local fish store (LFS) to help seed your new substrate. At the LFS stores around me (and just across the border) I can buy a bag of marine substrate for just under $30 and one bag is more than enough for a 20 gallon tank.
Buy the live rock, it'll make a huge difference. IMO, not having live rock is a disaster waiting to happen. The filtration benefits alone will significantly increase the life of your tank. And if you plan to have critters and inverts then you will need the live rock to house them, feed them etc. Even fish need the live rock to hide and scavenge.
I haven't ever used a skimmer on a tank that is less than 40 gallons. So, no, I don't think it is neccessary, but I do believe it will make a huge difference - it will help clean out your system - rid it of things that you didn't know were there! Even if you start out with something small and basic and work your way up, I think it would be a beneficial piece of equipment to eventually add to your system.