Adoption is a wonderful thing, especially when the birth mother is not in a place to parent a child through life. I think that your step daughter should be commended for her decision to be responsible in light of a very painful situation.
Having said that, I totally understand your feelings about how to share this with a 5 yr old.
My advise is to explain it in the following way:
Tell your son that his step sister is having a baby, but that you need to talk to him about it. Tell him that she is not quite grown up herself yet, and that a baby needs a wonderful family to love and care for him/her...even though your family loves this baby very much. Sometimes people can't have children of their own, and God is allowing these people to have children through adoption.
I had a baby when I was 18 that I placed for adoption, the most difficult decision I have ever made. I am now 34 and have 2 children (girls, 6 & 2). I will one day be facing explaining this situation to my girls.
I went to Edna Gladney adoption agency in Fort Worth, Tx. It is a wonderful place. I would suggest you check them out online. They may also have suggestions on how to deal with your situation.
Good luck.