There is absolutely no reason not to use a higher shader model, because about every laptop and desktop computer sold in the last 6 years or so will support at least shader model 3.0, most even 4.0.
I think I once read, that one should use the highest possible shader model, because of a better shader compiler being used then.
On the other hand I read somewhere that one should use the lowest possible profile for CG, for additional optimizations or something, but that probably doesn´t count for HLSL.
Dynamic branching will be used with shader model 3.0, which can be a performance problem if there are many branches and pixels close to each other, all use different ones, but in your case that should not be a problem and dynamic branching could be in some special cases an opportunity to improve your shaders performance.