Can I omit certain words if it is understood what I am talking about? In English we rarely omit words, even if its obvious what we're referring to. But I've noticed Chinese speakers sometimes do omit them and sometimes don't. Should the words in brackets be omitted or added? E.g. 


"你能证明（它）吗?" 
"你认为中文难吗？" "因为（它的）口语比我所有学过的语言难多了，所以（我觉得）（它) 难"
"你想跟我一起去吗" "不想（去)"
"你为什么不想去呢？" "因为（我）感觉有点不舒服了" 
"我没有准时提请他，（and?）（我）感到有点内疚"
"你感觉开心吗" "不感觉（开心）"


Also, in the 2nd example, I am wondering whether it should be 很难 instead of just 难?

As for answering questions, would I be right in saying that I should only ever answer using 是/是的 if the question uses 是 as well? E.g. 他是工程师吗？ 是/是的
First, in English word omission is quite common, especially in short conversations and answers:


  &ndash; Is he an engineer?
  &ndash; Yes / Yes, he is / Yes, he is an engineer (too redundant).


In Chinese, however, word omission is even more common, as you've suggested. With my living experiences in mainland China (native Chinese), I can tell that both the full versions and the shortened versions are right, while shorter versions are more common in oral Chinese.

Example:


  &ndash; 你最近过得好不好？
  &ndash; ((我最近)过得)好。  




Another notice: In Chinese, when asking about feelings, people don't respond with "I feel / I don't feel", but the actual feeling instead. So your last example should have been


  "你感觉开心吗" "(感觉)不开心"


People very rarely reply with 感觉 without the actual feelings.