Given the absolute value of a function, find hilbert pairs that make it up
This problem is known as spectral factorization. For convenience, let me use $j\omega$ as the function argument. Assuming that $F(j\omega)$ is rational, i.e. realizable by lumped elements (R,C,L), the squared magnitude $F(j\omega)F^*(j\omega)$ is a non-negative real rational function. In the Laplace transform domain, this function is given by 

$$G(s)=F(s)F^*(-s^*)\tag{1}$$

because $F^*(j\omega)$ corresponds to the time domain function $f^*(-t)$, the Laplace transform of which is $F^*(-s^*)$. From $(1)$ it is clear that for every pole $s_{\infty}$ of $G(s)$ there must be a pole at $-s_{\infty}^*$, i.e. mirrored across the imaginary axis. The same is of course true for the zeros.

Now you can factor $G(s)$ in such a way that you assign all poles to the left of the imaginary axis (i.e. with negative real parts) to $F(s)$. If causality is your only requirement, you are free in assigning the zeros, apart from the need to always take complex conjugate pairs, which guarantees that the impulse response $f(t)$ corresponding to $F(s)$ is a real-valued function. By assigning all poles with negative real parts to $F(s)$, you make sure that $F(s)$ is a causal and stable system. If $G(s)$ has poles on the imaginary axis, there exists no stable and causal system $F(s)$.

So the answer to your question is: yes, it is a known problem and it can be solved; no, the solution is not unique (because you can freely choose which zeros you assign to $F(s)$).