I was not sure how to formulate the question title. What I want to achieve is the same as VanityGen and many other tools do to create an address starting with a predefined part, but with private keys.
So basically I want to create a Bitcoin public/private key pair of which the private key begins with a string I define.
Are there tools that already do this? If not, is it possible? How should it be done theoretically?