When you freeze a device it should automatically copy your external.
The one caveat is the (somewhat rare) case where you have an external DLL dependency: the external will be copied automatically but the DLL will not be as Max (at least at this time) does not know about the linker dependency.
1. Assuming you do not have the DLL dependency issue, freezing will do the job.
2. You can include both .mxo (mac) and .mxe and .mxe64 (windows) in the same package for a single cross-platform distribution.