BGP path prepended route not listed anywhere

1.) A given BGP-speaking router is presented the same prefix from multiple peers then it will propagate only the best of those paths (as per BGP's path selection rules). In your case, this means that if some remote router sees both the plain and the prepended route that it will only pass on the plain route to its neighbors. The announcing router will have both paths in "sh ip bgp a.b.c.d" but its neighbors will not.

1a.) The fact that you can't see the prepended route doesn't mean that the backup won't work. The router that has both the prepended and non-prepended route in table will normally only advertise the non-prepended, but if the non-prepended route is withdrawn/times out then the prepended route will immediately be offered.

Try this command on your backup router: sh ip bgp neighbors x.y.z.q advertised-routes to see exactly what is being sent to your provider.

2.) It's hard to say what effect the iBGP peering will have without knowing how you're originating (and processing) your prefix. Is there a reason you need an iBGP peer between these routers?

3.) The advertise-map command will cause a particular prefix to be advertised based on the presence of another prefix. An example might be to advertise 10.128.0.0/16 whenever 10.0.0.0/8 is present. Similarly, non-exist-map will advertise a particular prefix when another prefix is not present. Neither should be required for a basic multi-homing setup.

Ultimately the best test is going to be taking time to shut down your primary route to confirm that the backup will take the traffic.

Oh - and BTW - are you advertising truly PI space or is the prefix in question part of one of the provider's aggregates? Longest-match trumps everything else.