What are natural ways to say "If I can help you with noun phrase"?
If I understand English correctly, this phrase should mean "if there is a chance I am of help to you with...", but unfortunately, your Japanese sentences mean "if I have enough ability to help you with..." In other words, it presupposes somebody does need help, rather than may or may not to. If you do know well the specific people or situation that they must be in trouble, then you can say that way and be a 気の利く thoughtful person, but otherwise it could sound intrusive or even patronizing. You should instead use:
[noun phrase]でお手伝いできることが(あれば/ありましたら)…
[noun phrase]でお手伝いが必要な時は…
to have the same connotation as your English. But I think I'd say:
[noun phrase]で(お困りの/困った)ことがあれば…
[noun phrase]で何かできることがあれば…
which are more or less idiomatic in Japanese.
Is it weird to add てあげる to these constructions? Is the 'giving' part already implied because the verb is about helping?
Just for the same reason as above. If you're already sure they like it, or they call for you to do something, you're fine to use ~てあげる. Otherwise you'll risk being a busybody.
Is there any difference between using nounを手伝う and nounのお手伝いをする?
The latter is a more polite (and often humble) way of saying with honorific prefix お-. It must become お手伝い(を)する because *お手伝う is ungrammatical (cf. 書く → お書きになる). By the way, お手伝い as a noun is indeed much more popular than the bare 手伝い. It's good to know that domestic helper is traditionally called お手伝いさん.