I haven't done this but you may be able to use coverage paths that are linked. Have the first cover path deal with busy calls only and route it to a vdn/vector that plays busy tone. Then in the linked coverage path, have it deal with the available station and immediately route to a vdn/vector that plays your announcement and then transfers to the extension. A couple of potential issues are that your station might ring before going to the coverage path (maybe try an X port to kill the ring). Also, if you are doing this for a group of stations instead for just one, you may have to do some magic with variables so the call routes to the correct extension.
Good luck. Sounds like a fun one.