Hi there,
I'd be curious to see your current SPF record, as i'm curious how you've managed to hit the 10-lookups limit :) Usually you will list your outbound servers using ip4/ip6: entries on your assigned netblocks, to stop this being an issue. The only real reason you'd be using a: records would usually be because you have a dynamic IP, although this itself is problematic. if you are include:'ing a lot of records, this can be an issue. Judicious copying of included record directly into your own record can help here, although you then need to set a calendar reminder to check the records you have copied, every few weeks, just to be sure nothing breaks :)
I don't see this being an overly large issue, and shouldn't take more than an hour to implement a fix and documentation for.