Yep, policy filters run up against the policy of only announcing the single, best route. I've been thinking with policy filters and variable weighting, should it be changed to announcing the 'best' route that meets policy, even if it is the second or third 'best' route you know about.
Unless I misunderstand what you mean by "variable weighting", this would not be a good idea. It's a BGP design point for a router to only announce the route(s) that it is actively *using*. In your comment above, a. If a router has a route it believes is "best", why isn't it using it? b. Regardless of the answer, the router should announce the route it is using for its own forwarding. To do otherwise would be to lie about the path which traffic will take to the advertised destination. If policy forbids it from announcing the route it is using, so be it. (Or, if that's not acceptable change the policy.) By the way, this general fact about BGP (external announcements are governed by internal route selection) also means that for Randy to always announce the same route to his peer, he would have to change his own, internal routing policy to do cold-potato routing to one of the two candidate paths. This doesn't seem like a reasonable thing for a peer to demand he do. Regards, --John