There are many different ways to get a Heart Scale.
I'll list them for you:
Pokewalker routes:
Beautiful Beach - 2000 steps
Warm Beach - 3000 steps
Stormy Beach - 800 steps
Quiet Cave - 2500 steps
Rock Smash:
Ruins of Alph
Mt. Moon
Route 3
Wild Pokemon holding Heart Scale:
Luvdisc
Pokeathlon:
Wednesday and Sunday for 2000 points
You can also somtimes find them using the Dowsing Machine.
When you get a Heart Scale, go to Blackthorn City and ask the fat guy to teach Ancientpower to Piloswine. Then level it up a bit and it should evolve. And, yes these are the only ways to teach Ancientpower to Piloswine.
Hope this helps. :)