To learn which Pokemon can learn Flash, go to the game mechanics page on this site and click moves. Click on Normal and find flash. The flash page will show you which Pokemon can learn Flash by level-up or by HM. I would give it to a Pokemon that is designated by you to have all of the HMs that you don't want your main pokemon to have. Also, Flash will light up all dark areas except for gyms.