Well, this is looking like "close, but no cigar". There appear to be a few gotchas.
1. Getting the name to resolve. Older threads (links provided below) suggest that folks have gotten this to work by leaving the default entry in tmm_base.conf: "use server $IP_ADDR_LOCALHOST $service(domain)" . Darned if I can get this to work. Pointing instead to my primary resolver from resolv.conf seems to work, but that's hardly ideal; again, I'm hard-coding a hostname entry. There's also a suggestion of listing the forwarders in named.conf, but this gives an error "forwarders directive is unknown"; seems like another unnecessary duplication of what's already in resolv.conf.
2. The node isn't defined. Even if all the resolution issues went away and NAME::lookup returned the desired IP address, there's no way to actually send anything to this host. That's because it isn't defined on the system as a node, so the statement "node $resolved_server_ip [TCP::local_port]" doesn't go anywhere. I can't know in advance all the possible addresses that "foo.bar.com" might resolve to, so can't add the nodes directly. Again, I'm puzzled that this approach seems to have worked for people in the earlier threads.
Seems to me that an iControl script may be the only way to go: periodically resolve the hostname, then add it as a node, and update the pool.
Links:
http://devcentral.f5.com/wiki/default.aspx/iRules/DestinationSnatUsingDNS.html
http://devcentral.f5.com/default.aspx?tabid=53&view=topic&forumid=5&postid=6546
http://devcentral.f5.com/default.aspx?tabid=53&view=topic&forumid=5&postid=1332
My thanks again for the info & suggestions.