You should always own at least 2 pairs of shoes and alternate the wearing of them day by day. Never wear the same pair of shoes for 2 days running as they need to dry out properly. Ideally you should store them with shoe trees in them as this helps them dry out properly. This in itself will help them to last longer.
If you want shoes to allow your feet to breath then you really want leather soles, although this might not be practical if you spend a lot of time walking, which by the fact you wear shoes out so quick I assume you do. You could always opt for leather soles with rubber inserts.
If the soles really wear out, especially the heels you could consider getting some Blakeys to put in the heel, at least everyone will hear you coming.
Personally I would buy good shoes and have them resoled regularly, if you buy really good shoes then the manufacturer will do the resoling, and while they are at it they replace the leather on the inside of the shoe, and redress the top so they look new and shiny once more.