interference graph: assigning variable to itself
You are right. The lifetime of a could be split into two spans. That said, how would you notate that in the interference graph? That is, how would you notate that one variable only interfered with one span of another variable's lifetime?

This is one of the motivations for Static Single Assignment (SSA) form. By having each assignment write to a "new" variable, you're never in the situation where a variable's lifetime is in potentially disjoint spans. You also have a name for each span of a (source-level) variable's lifetime, so the interference graph can be finer grained.

It is, however, safe to treat the lifetimes as starting at the first assignments and ending at the last uses. So while it may not be optimal to give each variable one single span of lifetime, it will never cause incorrect behavior.