The Australia international was a free agent after his contract at Upton Park expired last summer.
The 31-year-old passed a medical at the club's Finch Farm training ground on Thursday morning.
Neill will increase Everton's defensive options after recent injury to Phil Neville and the sale of Joleon Lescott, while Phil Jagielka remains on the sidelines.
The former Blackburn and Millwall player is the fourth permanent addition to David Moyes' squad since the end of last season following Diniyar Bilyaletdinov, Sylvain Distin and John Heitinga.
Neill, who famously turned down a move to Merseyside rivals Liverpool two years ago, reportedly rejected the offer of a new one-year contract at West Ham in the summer to pursue other options.