Which shell?

This is a (perhaps dumb) question from a Solaris noob.

I use bash, primarily, but the default on Solaris is sh.

When writing scripts on Solaris, is it considered desirable to write it
for the lowest-common-denominator shell (which I assume is sh)?

Or is it acceptable to include a "#!/usr/bin/bash" at the beginning of
the script?

Finally, when writing a GNU-style autoconf project, is it better to use
a "bootstrap" script, or to use GNU autoreconf? (I'm currently doing
the former.)

Thanks in advance.