Type of flooring dictates how "perfect" it needs to be, carpet being the least work. Vinyl is flexible so just no real drastic changes.
Below are the basic steps to fixing uneven concrete floors.
Use a straight edge and mark high and low spots. (Really exaggerated case in this image)
Or if you like gadgets, Bosch has a new laser out that lets you easily mark the uneven parts.
You use a grinder (with dust mask and safety goggles) for high spots. You can rent a large floor grinder or get on your hands and knees.
and SLC (self-leveling compound) in low spots. For SLC just follow the manufacturer's instructions. If the floor is really bad you may want to pour the stuff over the whole thing.
My family remodeled and has dealt with old and new layers of cement. I suggest the following plan based on our educated, though non-professional experience.
Leveling Old Cement Floor
Preperation
If it is safe to rinse the floor, you should wash the floor with cement cleaner (an acid requiring a special brush). This is will remove the less sticky and more corroded surface of cement, however this is optional, because there is a better way to correct this problem.
Alternately, You can use special concrete grinder. The aim is to take off the highs as well as expose the inner cement. This is messy, and you will have to be thorough about your cleanup.
Sealing
Next, if moisture ever was or ever will be a problem, then you have a serious risk that is common in 90% of Puget Sound area: mold. Mold can grow slowly and invisibly through the materials of you home, gradually poisoning the home. University studies found that in areas of the United States that were less moist as much as 50% of homes were poisoned in this manner by mold. The primary solution is to block the mold's access to moisture in the design of the home from the beginning.
Since you can't reconstruct the foundation walls, I suggest you treat the base of all wood-touching-cement beams (and wall-touching-cement) with a mold killing agent and wood hardener, followed by a liquid moisture barrier, like RedGard. This should slow or prevent the spread of moisture from the cement. If you can afford it, you should apply the moisture barrier on the area of the edges of the floor and as much of the floor as possible working in from the outer walls (where invisible moisture is most likely).
Leveling
It is important to do the last two steps first, because RedGard has good adhesion to cement, but not very good adhesion, so if it were near the surface when leveling cement was laid, then the thinnest areas of cement would tend to break up and peel off a little bit around the edges. This would not help the laying of the final flooring.
Now, your plan sounds great for leveling the floor. if the ground beneath the foundation is 98%+ packed and has good drainage, then you shouldn't notice collapsing in the foundation for many years, though you are right that thicker (4.5 inch or more) is better. If you want to add strength to the floor, a thin and flat laid layer of 'chicken fence'-like wire, preferably galvanized could be laid just before you lay the first layer of cement. This will prevent cracking and crumbling on the underside of that layer of cement and help to make even a thin floor strong like a thick floor.
Once you have considered these points, go ahead and fill the floor with cement as you have suggested, using proper cement/concrete, then leveling cement.
Notes
Note that the liquid gypsum idea by isherwood is great. Just remember to patch holes in the existing floor, and apply moisture barrier before laying it. It also helps to fan dry in warm weather the gypsum after laying it to get it dry as possible before laying the flooring. Gypsum is about as bad in the matter of wicking up moisture as a material might be.
Also, please note that it is a very good idea to use a high volume O3 generator non-stop for several days between Preparation and Sealing in order to reduce the amount of mold spores that will get kicked up when applying the layers of floor and wall.
Best Answer
How old is the house?
This sounds like an old house given a 1-2" deep puddle and painted concrete.
You should consider that : - the slab is probably too thin - inadequate drain rock under the slab - no insulation under slab - lack of radon / vapor barrier under slab - the exterior perimeter drain may be clogged - sewer service pipes in slab may be close to lifespan - consider a backup sump pump on a hydrocheck HC6000v2 (non mechanical float)
How long do you plan to keep the house and how large is your budget and timeline? Doing this properly can be expensive.
Quick and Dirty would be to level it to within 1/2" over 4'. Certainly fill any depressions. Choose a waterproof vinyl plank flooring. I like the 6mm duraclic from lowes. You probably want to put down a 6mm poly vapor barrier under the flooring and tape seams to keep out radon. Having gone down the high end path before quick and dirty appeals more and more to me.
If the house is newish and all the above items to consider are good and you have budget you could take the pro approach and flood the entire floor with self level. This will yield the best result but is the most expensive option. Have to worry about door heights, etc.