What cam would work best?
Cams are al lover the place. Different people like different stuff. As for myself - I like either Comp or Crane product due to cost, quality, and ease of installation. There are les expensive options - the Summit line of camshafts is actually really good - and good value. I'd avoid MP due to lose quality control. As far as recommendations: keep the size relatively small - duration at .050 around 220° and lift anywhere up to .500 or less. The Summit "large" cam, or the Comp XE268 would be great fits and require no head machining for the springs they require. If you don;t own one - buy a degree wheel or degreing kit. Any cam you install will benefit from degreeing it. Also plan to replace the timing set and valve springs.
Would swapping the 906 heads be worth the money?
My own opinion is if it runs well now, then no. You're nowhere near exhausting the potential of a stock head, nor even getting into where spending on heads will give you benefit. So at this point - no.
And would the engine need to be balanced again?
Not unless you replace the pistons. If you go that route then a whole different recipe would be advised.