Hi Dbow,
If the pool name can be determined from the host header value you could parse the host header, verify the format of the name matches some pattern and then try to assign a pool based on it. You can use catch to handle pools that don't exist.
Else, if you can't map the host to pool by pattern, you could create a datagroup with the hostname to pool name mappings. For 9.x you'd use findclass for the datagroup lookup. For 10.x, you'd want to use the class command.
Here's a recent example from Naladar for this:
http://devcentral.f5.com/Community/GroupDetails/tabid/1082223/asg/50/aft/1172969/showtab/groupforums/Default.aspx
Aaron