In and of itself it isn't that hard to do at all (though naturally, in the absence of a large market for such instruments there would be some complications determining fair price\terms).
For example, you could give me (note this is an example, NOT an offer) say .2btc right now and I could contract with you to sell 1 bitcoin to you on or before 6-12-14 at say 660USD, at your prerogative. The primary difficulty you would have with this is enforcing the terms of the contract. Who is to say I would honor the agreement if bitcoin goes up to 700USD or more? Who is to say I even have 1 bitcoin to sell you? Securities markets have [in theory anyway] regulatory bodies to ensure these things, bitcoin obviously does not.
I agree with Brian. This will need to be a two way market.
Because someone (or software) will need to ensure fulfillment of the contract, a third-party will need to act as an escrow agent. In the future, that role will be automated by 'smart' contracts that fulfill the terms of the contract automatically. It is possible to fully automate this process where both sides agree on the terms, the option is paid (.2btc in the above example), the 1 bitcoin is deposited and held in escrow with multi-sig securing the funds until the expiration of the option, and the funds automatically released upon payment by the option holder during the predetermined time, or released back to the option seller upon expiration of the option.
A decentralized version of this will exist in the not too distant future.