If you want the best option for a floor coating, something you can do yourself, epoxy floor coatings are the way to go. I am a commercial contractor, we do lots of commercial projects where floor coatings are required, and we've done lots of them all.
As far as cleaning concrete, muriatic acid works well if you put some elbow grease into it, but it won't remove deep stains. Shot blasting is the best method. You can rent a small shot machine from a rental store. You can also rent a pressure washer that has an attachment on the nozzle which sucks sand into the water stream out of a bag of blasting sand. This works really well.
If you decide to coat the floor when it's clean, don't go to a big box store and buy epoxy, go to a specialty paint store like Benjamin M or Sherwin W and spend some money on a high quality epoxy. It'll resist all sorts of chemical spills, oils and the like and cleans up like a charm. Do it once, and do it right.