We set TMOUT in /etc/profile, works fine. It's not supported in every shell (ie: use autologout for csh - it's uses minutes, not seconds like TMOUT). Note: Users can override this by just doing an `export TMOUT=0` after they log in.
For password policies in Solaris 9 and below, you'll need a third party PAM module. Check pam_cracklib:
SourceForge.net: solaris-friendly pam_cracklib
Solaris 10 added many of those features into the OS, do a `man passwd` and you'll see a section near the bottom explaining /etc/default/passwd. Includes all the options you requested. However, the password history feature will only work for local accounts on the box.
If you have LDAP, you can configure password policies there, but don't be too dissapointed if it doesn't work
We've been very unsuccessful in getting policies to work using Sun's directory server.
EDIT: That sourceforge link looks dead, but do a google on pam_cracklib, should get you some useful info.