First, I think Harper's answer is very good, and could work. Since you asked how to get the money back I feel my experience in a somewhat similar situation could be of help.
Background for my thinking:
Long time ago I was in a similar situation, not in an artistic related project, but I was doing a project for someone else, this person wasn't a great friend of mine or anything like that, however it was the husband of an acquaintance, and as a general rule I don't like to disappoint anyone. This seems silly, but can set you up to not being able to say no or recognize properly that you are having problems meeting expectations.
First, I didn't really want to do that project at that moment, but as I said I have a hard time disappointing people, and this friend told me his husband really needed the project, so I accepted. Later I was having several issues that were preventing me to achieve the deadlines correctly. I was overall achieving the expectations, but barely. And I couldn't give the information on the progress when required, because I had to compensante for my health issues with overworking in periods of time I was feeling better, add that to a full-time job, and it was extremely hard. I was over-stressed.
The feeling on the other end was that I was being unresponsive, I delivered but probably he was extremely anxious as to whether or not I was going to actually do it and if he was going to lose the money and time (probably this rings some bells for you). I am not someone to do that kind of thing to anyone, so I killed myself and finished the project. However in the end the relationship was damaged and probably I exposed this person to undue stress.
Take into account that due to the nature of the project and timeline even if I had told him the issues I was having earlier, he would have been hard pressed to find someone else to finish the project and he would probably have been even more stressed since knowing the issues he may have been convinced I was not going to make it in time or at all.
So there is a chance your friend finds himself in a similar situation to the one I was. He is having a hard time to make it in time, and he doesn't know how to tell you because he doesn't want to disappoint you. And it is not like you have a gazillion friends that can make portraits (well I assume so, you maybe do, but I certainly don't have any), so he may be feeling that telling you more would put undue stress onto you. And you have wasted time already asking him for a portrait, so there may not be enough time for you to get someone else to do it.
In sum, he may think that if he doesn't make the portrait for the birthday you will be completely disappointed and he may be pushing himself or making up plans to deliver. However, even if I managed in the end, I could have failed. So it could happen that he doesn't make it in time.
At this point he may be desperate for a way out, and thinking that the only thing he can do is somehow make it in time.
So can you deal with this situation?
Having everything I said above into account, To get the money back, I suggest a compromise. Tell him you really want that portrait, like you are supper exited about it, but you understand he is going to rough times. So ask your friend to give you the money back, minus some kind of prime/pre-order (I am not sure what the correct word is). So you can use the money to buy a gift for your SO, and in the meantime he feels less pressured and can finish the portrait, but there is still a commitment that when he finishes it you will pay him in full.
I know something like that would have meant the world to me, but due to the nature of the project I was working on it know it was totally impossible. In this case is not.
To appeal to his empathy, make it clear how important is for you to make an awesome gift for your SO. And you are worried because you are not sure if he has enough time since he is having the issues described. Show empathy, tell him you understand it is probably hard for him because of those issues and you also understand the artistic process sometimes can not be rushed.
At that point he may come clean and tell you were right and accept your offer, or he may tell you that you shouldn't worry and he will get it in time. If he does that, you have to agree on a deadline that gives you enough time to get a different present, and do just like @Harper suggested. At that date he either has to give you the portrait or the money.
Finally, if he commits to the deadline but doesn't give you the portrait, since you have time for a plan B, it should be easier on the relationship. Talk to him just like everything is alright and explain him you understand and thank him for having agreed to the deadlines so you have time for a plan B. Also don't give up on the portrait, just tell him he can take more time to finish it, since you will get your SO a different gift.
I am not sure if you are going to celebrate your SO's birthday with a party but you can invite your friend so he realizes there are no hard feelings. Some time later, time to time you can check on the progress of the portrait until you stop doing it because he finally gives you the portrait or because enough time has passed that if you don't insist anymore he won't feel suspicious.
This should minimize the damage on the relationship, because if he is a procrastinator, the deadline will help him. He also will understand how important is for you to give the present. But, if for whatever reason he feels totally overwhelmed and like he can not make it in time, you are giving him a way out that won't cause a total destruction of the friendship.