You can configure a BLF for extensions in Management Console >> Users/Extensions >> BLF. I'd suggest a unique Shared Parking spot for every extension and some that are not commonly used because remember, you'll need these Shared Parking spots to be available/free so that the agents can call them and keep their extensions busy.
Also, something rather important I forgot to mention earlier, is that the user will have to be idle for a bit to be able to make the call. If there are calls waiting in Queue, the agent won't have time to make the call to SP because he/she will already be ringing with the next call Queue. That said you might want to add Call Queue wrap-up time to something like 3 seconds.
Just want to make it clear that this is not the intended use of these features so I can't really say I necessarily recommend you go down this path. I merely mentioned it in hopes you could give it a test to see if it suits your situation or not.