The former Force India driver, 29, will continue to race for Mercedes in the German Touring Car Championship.
Di Resta's role as back-up driver for Valtteri Bottas and Felipe Massa gives the Scot the chance to revive an F1 career many considered to be over.
He claimed 121 points in 58 races for Force India from 2011 to 2013.
"We are delighted to welcome someone with Paul's experience to the team," said Claire Williams, deputy team principal.
Paul di Resta's racing knowledge "will be invaluable", according to Williams, following the Scot's confirmation as reserve driver for the 2016 season.