I've seen this done a few ways -
Generally a number is turned into either an object or a sound. In the case of an object, the objects interact with each other to create a story and you can then reconstruct the story and decode the digits.
For example, 9 = cat (because cats have 9 lives), maybe 3 is a three legged bar stool... so for 39 the bar stool falls on the cat and for 93 the cat jumps onto the barstool.
Another way is with sounds. You assign a sound to a digit and then create little words with the encode - improving proficiency at this method is done by taking on larger and larger chunks (from 2 to 3 to 4 digit sounds into words) - the human capacity is around 7 "chunks" - but you can make each chunk quite large and then employ other memory methods to make a ridiculous long string of digits with enough practice and enough set up.
It's on sale - and if you're wondering how to implement, I would have you consider The Great Courses #1925 called Scientific Secrets for a Powerful Memory
http://www.thegreatcourses.com