I'll read that book in 2 hours
"I'll read that book in 2 hours." I'm pretty sure this phrase means that after 2 hours from now I will start reading the book, but I can't stop thinking that it could also means that it will take me 2 hours to read (and finish) that book. My friend says that for the second meaning the following phrase would be more appropriate: "I'll read that book for 2 hours." Which also makes senso to me, but I get the idea that maybe I won't be able to finish it in just 2 hours. Could some native speaker elighten me on this problem? Can the first phrase be interpreted in both ways? Thank you in advance.
"I'll read that book in two hours" generally means that whenever you start to read the book, it will take you only two hours to finish it; i. e., you are a very fast reader! Otherwise, it would be ambiguous (hard to understand) without additional sentences on either side to give more information about your plans for reading.
"I'll read that book for two hours" means that whenever you start to read the book, after two hours have passed you will stop reading it, without regard to how far along you have gotten in the book.
As you correctly stated, the proper sentence is, "Two hours from now I will start reading the book," if that is what you intend to do, and no implication is made as to how long you will read or whether or not you plan to finish the book in one sitting.