My math is not strong enough to assert that your proof is correct, but it does make sense to me. Since in 9.999.. and in 0.999... we can assign 1 to the first decimal digit of both sequences, 2 to the second and so on, we therefore can the subtract one by one obtaining 9.
I don't see any flow on your second reasoning, but I think it needs a consideration like the one you did on the countability to be rigorous. More in details, even if by multiply 0.1111... by 9 you intuitively get 0.9999..., for a non finite sequence I would prove that this can be done, using the same argument on countability you used in the previous argument.