Defeasible logic is a nonmonotonic reasoning approach based on rules and priorities. Its design supports efficient implementation, and it shows promise to be deployed successfully in applications. So far, only static priorities have been used, provided by an external superiority relation. In this article we show how dynamic priorities can be integrated, where priority information is obtained from the deductive process itself. Dynamic priorities have been studied for other related reasoning systems such as default logic and argumentation. We define a proof theory, study its formal properties, and provide an argumentation semantics.