Zack Greinke can become a free agent halfway through his six-year, $147-million contract with the Dodgers, according to people familiar with his deal who were unauthorized to talk about it.