I haven't seen my friend in twenty years.

Literal

Friend [target-に] 20 years [emphasis-も] not-met.

も after a quantity adds emphasis — 'as many as 20 years.' 会ってない is the contracted form of 会っていない, dropping the い from ~ていない. This contraction is standard in casual speech and mirrors the ~てる contraction of ~ている.