I wish も could have も過去にそうならなかった事実とは異なることを言うのに使います。一番最後のbeforehandは「事前に・前もって」という意味の言葉で、あってもなくても意味は全然伝わります。
どちらも日本語に訳すなら「言ってくれれば良かったのに」となります。
I wish 人 had 動詞の過去分詞
人 could have 動詞の過去分詞
You could have called me beforehand! ([え?なんでいるの?]事前に連絡くれればよかったのに!)
ご参考までに
この言い方が(先に知らせて)という意味になります。
in advance は(何かの前に)と相当することで、何かの情報を言う時に、(早めに知らせる)という意味です。
例文 If you're thinking of going on a business trip, let me know in advance!
「出張しようと思ったら、先に言ってよ!」
参考になれば幸いです。