Hi @Sarah-Jane Gallitz, my understanding of your two questions is:
1 - Sort of.
and
2 - No.
Both of these scenarios are being targeted by the new Kotlin compiler that will take Kotlin source through to an intermediate representation first - akin to Apple's Bitcode. Referred to as the 'IR' compiler.
Today, the only(?) solution for distributing multiplatform libraries is via Gradle - it compiles separately for each target then packs the output artifact, be it a jar for JVM/Android, klib for K/Native etc, as a Maven-style artifact.
These are then tied together by a Gradle Metadata package.
When resolving the dependency, Gradle is pointed to the metadata package and then it resolves the correct platforms artifact (if it exists).