少し説明が長くなってしまいましたが、最後の項目「情報構造」は、よほど英語がお好きでなければ読まなくてもOKです。
★ 直訳
(1)「私は誰にも言えない秘密を持っている」
(2)「誰にも言えないことがある」
★ 文構造
(1)(2)ともに、(that) としている部分はあってもなくても良いということです。
また、(that) 以下はどちらの場合も直前の名詞 secret、something を修飾する関係代名詞節です。
(1)I have a secret 「私は秘密を持っている」
どんな秘密? that I can't tell anyone 「誰にも言えない」
a secret that I can't tell anyone で「誰にも言えない秘密」というひとかたまりになっています。これは次のように見ることができます。
a secret「秘密」 + I can't tell it to anyone「私はそれを誰にも言えない」
この場合 secret と it が同じものを表しているので it を消して
a secret that I can't tell to anyone
としたいところですが、tell to anyone の部分は通常 to を抜いて
a secret that I can't tell anyone
となります。
この理由は、tell の語法にあります。
tell+ 人 + 内容「人に内容を伝える」、tell 人「人に言う」
tell にはこの2つの使い方があります。そのため tell to anyone で tell + to + 人 という語順にするのは違和感があるからです。
★ 情報構造
しかしなぜそもそも I can't tell it to anyone なのかと言うと、次のような理由があります。
形式上、代名詞 it や them が使われる場合は、tell anyone it という語順にはほとんどしません。(決してないとは言わないが、ほとんどない)
これは英語の情報構造が理由なのですが、英語というのは多くの場合、すでに言っている情報を先に、そして新しく言う情報(新情報)を後にするという流れがあります。
代名詞というのは、すでに言ったもの(秘密)を繰り返して言うのを避けるために使うことが多いです(そうでない場合もある)。そう考えると、今回の it は特に、すでに言っている情報(旧情報)だということになります。そのため「それを誰かに言う」は次のようになります。
X tell anyone(新情報) it(旧情報)
○ tell it(旧情報) to anyone(新情報)
(2)の説明は省きますが、(1)と同じだとお考えください。