1) The script can be used directly. Maybe you can clarify your question?
2) The script is fairly readable, though less-well documented than bin/catalina.sh. Most of the environment variables recognized by bin/catalina.sh are also recognized by bin/daemon.sh. For instance:
CATALINA_TMP (note: catalina.sh uses CATALINA_TMPDIR)
It also accepts these (undocumented, other than by reading the script itself) command-line arguments with fairly obvious behavior:
--service-start-wait-time (sets the "wait" time for jsvc)