These are easy to find at yard sales and often on CraigsList. They can be expensive but they are worth it. The Lego stores let you buy exactly the colors you want and in the quantities you like, but it would be better if you had some experience before you went that route. I think the sets that help you build just one thing (a Star Wars vehicle, an underwater research station, whatever) can be helpful for kids who need guidance and who like to follow instructions, but they can be frustrating for others because the outcome is pre-determined. I'd suggest you go for a starter set and then get a base that lets the child keep everything flat so it doesn't topple over. Legos are designed to take TIME so a child has to have patience or fine motor skills or both. Having a child use their imagination is great - but they have to see the pieces for their shapes and length, vs. colors.
There are a few less expensive knock-offs you can look into as well. I also find the Lego sets vary by what theme is popular in the movies (Star Wars is just one, but you get the idea). So things change over time. The nice thing is, they do grow with the child. We had some that were related to pirates, others connected with castles & knights, and so on.
You could consider a divided storage container from the hardware store or dollar store, with compartments. Those are good for keeping the special pieces (little people, accessories like torches or glow-in-the-dark pieces, and that sort of thing) separate from the basic bricks. It's not worth sorting the bricks by color or size, in my mind, but these small and unique pieces are probably worth your time.
We also had a table with 4 building base plates on it, and a hole in the center with a mesh bag. It wasn't cheap but it gave our son a place to build that kept the blocks off the floor, and it was easy to move out of the middle of the family room floor. You could use any small table - kid height - and the flat squares (like linoleum tiles, almost) just sitting on top.