Is there a better way to pull in custom content without querying posts?

It’s not a hack, this is what databases are designed for- querying large quantities of data. If you’re concerned about load, you should employ caching on data that doesn’t change frequently.

That said, you should not be using query_posts to create additional queries. Really, you shouldn’t be using query_posts at all. Create additional queries via WP_Query.