OK, --pidfile was what I needed.
I also found that the order in which the options were listed was important too.
--with-library=MYLIBRARY --pidfile=/var/run/calibre-server.pid --daemonize
Starting the daemon works but the process started is not calibre-server but /opt/calibre/loader.
Is that right? It seems to work when I load http://localhost:8080
"/etc/init.d/calibre stop" isn't working now.
The line "start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME" is messed up because the command to start the content server is calibre-server while the actual process left running is /opt/calibre/loader.
Changing that line to read "loader" in place of $NAME, seems to work.
The attached file is my copy of /etc/init.d/calibre for Ubuntu 9.10. Not pretty but it works.