CFEngine' cfperl has this kind of behaviour, which could be used to build on something like you are asking for. Crontab is actually a simple configuration file in itself and then cron(d) is what parses the individual crontabs (or the ones under /var/spool/cron/) and makes the list of events scheduled in the memory.

So, if you are looking for wrapping your configuration again over simplistic cron's crontab, then perhaps you are not looking for cron but some other scheduler which will trigger your jobs.

I don't know if an app to "automate" the maintenance of a crontab. What I do is keep a 'master' crontab, edit that, then use crontab ~/etc/app.cron or something similar. Then it would easy enough to create something to automate the modification of ~/etc/app.cron.

For named jobs how you want, you'll either have to create a mini database with the job names, or add the job name to a structured comment at the end of the crontab line.

There's no intrinsic notion of job names; you can easily make up one by adding a comment like #jobname at the end of each line as in the example above.

Instead of crontab -e, you may find it easier to dump the current file, edit it and install the new version or keep a master copy and install it when you change it. Using a master copy means that you must not edit the crontab through other means, or your changes will be overridden. Dumping the current file and editing it means that if something or someone else edits the crontab at the same time, whoever installs first will have their changes overridden; some versions of crontab prevent this by locking the file while crontab -e is in operation, but I don't know if Solaris's does.