Just a quick question: If I wanted to say "For me it’s hard to speak Japanese." would it be correct to say 私は日本語を話しにくいです。or would that be unnatural? And do I have to use を or で after 日本語 (日本語で話しにくいです。)?
Aしにくい is used when you basically have the ability to do A but there is an objective problem or obstacle that makes it difficult to do A. You cannot use it when something is difficult due to a lack of your ability itself. For example, 踊りにくい can be used when it's hard to dance because the place is too crowded, because the floor is slippery, or because you have a physical problem. But if it's simply because you're a bad dancer, you cannot use it. Likewise, 日本語を話しにくい means that you can usually speak Japanese fluently but it's temporarily hard to do so, for example, because of a security concern.
In your case, if you mean "Speaking Japanese is difficult to me", the correct sentence is:
As for 日本語を話す vs 日本語で話す, 日本語を話す is like "to speak Japanese" and 日本語で話す is like "to speak/talk in Japanese". If you have some specific topic or sentence in mind, 日本語で話す is more natural. See: Difference between を話す and で話す