In order for you to program a NEW key, you have to have TWO original keys that came with the car. In your case any Ford dealer will help but like you said it is expensive.
I am not sure whether a locksmith can help you program one.
I programmed two new keys for my car( one spare and one for the bypass module for remote start alarm) and it is not difficult to do.
Actually, in the owners manual you will find a "how to" in programming a key or when you order something from eBAY a "how to program it" is included.
I hope this helps.