Are you referring to calling C and Fortran functions directly from Julia? If so that won't do.
The eventual goal is that the solvers are hot-swappable. One should be able to select what ever solver out there which models the required physics. If I would go down to the level of calling individual functions, I would be forced to create multiple interfaces, one for each solver I would support. If however I am able to use MPI in Julia, it is possible to create a data communication layer based on MPI (this has been done before). Then I only need to add some send/receive statements in the code of the external solvers and compile them against the communication layer. That however is a relatively easier task as a lot of the numerical solvers out there already incorporate MPI to some extent. If I proceed in the MPI route, the only question is whether the MPI package for Julia is up for the task (functionality, scalability, performance) or should I first spend some time improving that package or create a new one?
