PORTLAND, Ore. — Powell's Books and the union representing its workers have agreed to a four-year contract after nearly ten months of bargaining. They had been in contract negotiations since January.