No.
Yes, but actually no.
You can do something like this:
// All the following code will be on its own package (pckg) and thus in its own folder.
// pckg/adt.scala
package pckg
sealed trait MyADT extends Product with Serializable
final case class Foo(x: Int, y: Int) extends MyADT with FooImpl
final case class Bar(a: String, b: String) extends MyADT with BarImpl
// pckg/foo.scala
package pckg
private[pckg] trait FooImpl { self: Foo =>
...
}
// pckg/bar.scala
package pckg
private[pckg] trait BarImpl { self: Bar =>
...
}