Multiple automatic endpoints based on extensions?

Following on from my previous questions about a message line service, before I restart the project and dive too much further in, I was wondering if the following might be possible:

[ul][li]Purchase extension from voipfone and attach it to number.[/li]
[li]Create filesystem directory with the same number as the extension.[/li]
[li]Put files numbered 1 to 9 in that directory.[/li]
[li]Have Asterisk play out the files contained in the directory matching the called extension when user presses keys 1 to 9.[/li][/ul]

So let’s say if I have extension 1001 attached to number 01234 555555 and extension number 1002 attached to number 01234 555556, when someone calls 555556 and presses 3, I want to play 3.gsm in directory named 1002, and if they did the same with 555555, I want 3.gsm in directory 1001 played.

As basic as possible. Is this the kind of thing a newbie could do given some time with the wiki?
Has it been done before?
Or am I going to be out of my depth here and better of hiring someone?

(I’ve done this with a single extension and number just fine - scaling up is the complex bit for me!)

As specified, this should take no more than three, simple, lines of dialplan.