Both physical and special spreads are viable on Forretress. Just note that Forretress is not a wall like Skarmory. Skarmory is meant to counter things like Garchomp, Excadrill, and Scizor, thus it needs all the defense it gets. Forretress uses any possibility it can to set hazards or Spin since it can't do anything else really. A specially defensive set can give it enough bulk to tank weak Scalds or Draco Meteors and set Spikes, laying the hurt on the opponent, if that makes sense. For this particular team though, a specially defensive Forretress works better imo.
The choice between Toxic Spikes and regular Spikes is up to the user, but as an avid Forry user, I have no real trouble setting both at the same time with multiple layers.