Here is a step by step guide to get a Ferrothorn with both Spikes and Stealth Rock with the least amount of hassle.
Step 1: Get a Cacnea or Cacturne that knows Spikes. Cacnea learns Spikes at Level 33 but evolves into Cacturne at Level 32 so you'll need to either cancel the evolution by pressing B or let it evolve and Level Cacturne up to Level 35 where it learns Spikes again. If you get a Cacnea or Cacturne above these Levels and it doesn't have Spikes. Go to the Move Relearner, she will reteach your Cacnea/Cacturne Spikes in place of a Heart Scale. For information where the Move Relearner is in your Game click here.
Step 2: Place your Cacnea/ Cacturne that knows Spikes in the Day Care Centre with a Ferroseed/ Ferrothorn.
Step 3: Run around for a couple of minutes and then go back to the Day Care Centre to get your egg from the Day Care Man.
Step 4: Run around again to hatch your egg. When it hatches your Ferroseed should know the Move Spikes:
Step 5: If your playing Black and White 2 go to the Move Tutor who is located in Nacrene City. He will teach your Ferroseed Stealth Rock in place of 10 Green Shards.
Step 6: Level your Ferroseed up to Level 40. The fastest way you can do this is by giving your Ferroseed the Exp Share or the Lucky Egg to hold and battling. When your Ferroseed reaches Level 40 it will evolve into a Ferrothorn that know's both Spikes and Stealth Rock.
Note if your not playing Black and White 2 you won't be able to teach your Ferroseed Stealth Rock via Move Tutor. So you'll have to breed your hatched Ferroseed with Spikes with either a Geodude, Gravelar, Golem, Onix, Steelix, Roggenrola, Boldore, Gigalith, Dwebble or Crustle that knows Stealth Rock.
When you have done this the Ferroseed that hatches from your egg will know both Spikes and Stealth Rock.
Hope I helped :)