I want to make one contact on my iPhone receive iMessage only?

I have a friend in USA who also has an iPhone, as iMessage is free we obviously want to text through that, how can I set it up to do so?

You can't specifically turn on iMessage on 1 single contact.

But as long as you have the iMessage option turned on (Settings > Messages > iMessage > ON) then any messages sent between iPhones will be sent as iMessages as long as you both have a data (Internet) signal. If either of you do not have a data signal then they automatically send as a text message instead.