The form A is the more correctpreferred one:
He sometimes speaks Spanish, which I can't understand.
The part of the sentence that follows the comma is a relative clause, connected to the noun "Spanish". In that clause "I" is the subject "can't understand" is the predicate. The object of that clause is actually "Spanish" represented by the relative pronoun "which". The pronoun migrates to the beginning of the clause and retains the status of the object.
If we split the sentence into two, we get
He sometimes speaks Spanish. I can't understand Spanish.
Now, why isdoes "which language" incorrectsound awkward? Simply put, because it would be redundant. The word "Spanish" in the main clause already has the meaning "language". It's does not mean "architecture" or "history", so there is no need to repeat it.
As far as "speaks ***in*** Spanish" versus "speaks Spanish", there is no difference.