Nano tanks are fun. Just have to make sure to keep up with the maintenance as water prams can get out of hand quickly if you aren't on top of your water changes.
I have done 10 and 20gal nanos before, and here is the equipment I recommend getting
-15-20lbs of live rock (or base rock and live rock mix).
-20lbs of live sand (can use crushed coral substrate as well or other marine sand that isn't live, but I have had great success and results with live sand)
-Nano power head (Hydor Koralia Nano is one I have used and liked)
-A filter that does double the filtration amount of the tank size (since a 20gal tank, I would get a filter that is rated for a 40gal tank) I personally like the bio wheel filters HOB, but that is just a personal preference, others don't like the bio wheels for one reason or another.
-RO/DI system for water changes and top offs. You can use tap water if you want, but I find RODI is the way to go. My LFS sells RODI top off water for $1.00/gal and I only use maybe a gallon every other week so I find it easier to buy the water instead of the unit to make it myself.
Optional: I use Instant Ocean Bio Spira (Dr Tims makes a good one as well) live nitrifying bacteria to jump start everything. Not a need but I like the stuff and found it works well.
Cycling you will need to dose ammonia some way or another. Cocktail shrimp is a good way. If you use bacteria then you may never see it cycle as the bacteria will already be there ready to go. A good timeframe of a cycle without use of bacteria is about 3-4 weeks or so.
The firefish is fine, Cardinalfish are fine, I would not do the assessor. I would replace that one with a ocellaris clown.
Good luck, and make sure you keep on top of your water changes. I would either do 5-10% weekly or 20% bi weekly to ensure good water quality. This IMO is the most important part to do on nano tanks.