We use a printer accounting system, which requires that the username and password be passed as a parameter in the smb URI. LPD wouldn't be an option in this case. I've created a script that I run when I've changed my password.
echo -n "Enter your username: "
read username
echo -n "Enter your password (what you type will not be printed to the screen): "
read -s password
echo " "
echo "If you are prompted for a password, enter your system administrator password"
#$domain and $servername must be defined
sudo lpadmin -p 1055CMBond -v smb://$username:$password@$domain/$servername/hp1055cmbond -P "/Library/Printers/PPDs/Contents/Resources/en.lproj/HP DesignJet 1055CM PS3.gz"
sudo /usr/bin/enable 1055CMBond
sudo /usr/sbin/accept 1055CMBond
#make the printer the default, may require system password
sudo lpoptions -d 1055CMBond
#At one point I thought this was necessary
#uncomment if you need it
#sudo killall -HUP cupsdMac OS X Hints
http://hints.macworld.com/article.php?story=20070403153819717