How can I paint/stain an interior concrete floor?
There are (at least) two different types of stains for concrete. One is a surface coating, the other is acid etching. 

The former can work, but isn't as durable/lasting. I believe most of the products you get at the big-box stores are more of a top-coat type of stain.

Acid etching is just that, it's a stain containing an acid that actually etches the concrete. This is the typical type of stain you see in home magazines and such. The etching provides a deeper stain that is more durable and not prone to flaking. 

I've done the latter, and applying it is super-easy. It's the prep work that can be a chore--namely if you have adhesive on the concrete already. In our case, we has tile mastic, which we had to dissolve using soybean based stripper. It worked great but was incredibly messy. 

If you don't have glue to deal with, however, you should be good to go. Order up the stain (lots of places online to get it). You then dilute it per instructions and spray it on the concrete. I used a garden sprayer for this. You then let it sit for a period of time, and then you apply a neutralizer to stop the reaction. 

After that, you apply water and mop/squeegee/wet-vac it up. 

Then, you apply a sealer of some sorts. Common options are wax-based, polyurethane, and epoxy. I went with poly as it was relatively easy to apply (roll it on). That said, I don't think it was ever truly waterproof. For your needs, you may want to go the epoxy route.