Look for a house in Driftveil City. There's a lady who will ask to see a TM move (only TMs that you have.) If you show her a Pokemon with that move she'll give you a Heart Scale!
Only once per day. For more info, see http://au.answers.yahoo.com/question/index?qid=20100924201201AAIcLL8