Check out this previous question. There is a solution called "retr0brite" in which you make a chemical compound that you apply to the yellowed bricks, leave them exposed to light for a while, and the bricks will come out clean white. However, I have recently read (but cannot find the link right now) that this retr0brite method might not work forever, and that with reapplication the duration of the whitening reduces every time.
Yes. I like to clean my LEGO bricks with warm water and a washcloth. If it is dusty, it will come right off. If it is dirt it will take a couple seconds of rubbing gently to get it off of the LEGO bricks.