My memory is that cards draw significantly less current in SPI mode than their maximum rated. And older SD cards (up to 2GB) draw considerably less than SDHC. In any case, I don't think you would ever need anywhere near 500 ma. There's one manufacturer, SanDisk I think, that has a 100 ma maximum for all their cards. So I would urge you do some actual measurements with the cards you will be using before assuming that 400-500 ma will be needed.
Anyway, as has been suggested, it seems the best answer may be to run everything at 3.3V. Then you could step down from one 18650, and wouldn't need any level shifters on the SPI lines.
Some cards are supposed to go into idle mode when not being used, which draws little current, but I don't know if that's reliable, or used by all manufacturers. What I've seen is that SDHC cards draw about 30 ma just sitting there, which is no good for your battery, so if only writing twice an hour, I think the best practice is to switch off power to the card between logging events, probably with a mosfet.
And a big capacitor for the writes.