If the other party agrees to it, any contract is possible.
However, in this case you get more money if somehow the project is delayed over the three month period; so you have an incentive to work slowly or to have the project creep up in scope. That's not a good basis for a contract for your client may complain that you should've worked faster, even if you've put in all-nighters.
Given a fixed price, it's easier on the relationship to have the fixed price be renegotiated on basis of objective measurements that you used to arrive at the fixed price in the first place. Examples are the number of pages in a site or screens in an app, the number of revisions of the visual design, or the number of function points [1] if you have data available for that. Mention in the contract that if a client wants more than X screens, Y pages, or Z revisions, the fixed price is to be recalculated.
[1] http://en.wikipedia.org/wiki/Function_point