I currently load it by ID, like so:
Magento Stack Exchange is a question and answer site for users of the Magento e-Commerce platform. It only takes a minute to sign up.Sign up to join this community
You can load every (non-EAV!) entity just by adding a second argument to load:
The problem is, if the column is not unique you get one of the matching entities back, and you don't know which.
For your case this should be:
$catalogrule->load('10% to all items', 'name');