I
will graduate soon with a Ph.D. degree in chemistry. A company offered me a
post-doc position, but they will not sponsor my EB1-EA application due to the
less than two year of this post-doc position. I want to know how long it will
take to get I-140 EB1-EA approval (if filled by myself ) and can I change the
job after its approval?

Answer:

I-140
process time can take 4-10 months. If you get a RFE, it may take even longer.
Also, processing times differ from one service center to another, usually in
opposite phases: if one is getting better, another is getting worse.

As a result, you can count on the I-140 being
processed in any time between 4 and 15 months. Then there is the second step:
Adjustment Of Status (I-485), that takes 1-2 years, or consular process, which
takes 4-6 months.

You can sponsor yourself for EB1-EA (or EB2-NIW),
and the employer's letter is not required for this case. But you may want them
to write a recommendation to make your case stronger. Just don't ask them to
sign the petition, put yourself instead. If
you do the self-petition, you can change jobs staying in the same field you
claimed in your petition.