Inner chainrings are pretty cheap. Cassettes are often cheap... well okay, not at your Dura Ace level, assuming that's the only thing that's compatible w/your 7800. I'd try 38t on the inner ring, and 12-27 on the cassette. That'll give you about a 10% lower low gear.
If your RD has enough capacity (and you can often get away with slightly exceeding capacity), and/or your drivetrain can take non-DA-7800 cassettes, then things like 11-28 and 12-28* become options too, though I think the 15-17 jump in the 11-28 is pretty sucky.
If that isn't enough, then yeah, time to suck it up and spend the money for a compact crank... or even a triple, though that's a last resort, due to the additional expense of new derailleurs and new shifters on top of the crank's cost. :nonod:
/ Some ppl also get low gears by running big-ass mountain bike cassettes with double cranks (and Shimano has come out with new, 10-spd MTB cassettes)... assuming no odd compatibility issues, that could work, but that's a new rear derailleur along with the cassette, and the big jumps between cogs will likely be annoying for road riding. Some ppl also say that such setups tend to shift poorly on short-chainstay bikes.
* 12-28 is allegedly a new SRAM cassette that's coming out in a few weeks. IRD already makes one, but it has the lame 15-17 jump
.