You still haven't explained what you mean by "embed lua". But it is quite common to just dump stuff at the end of the binary file, as far as I know all common executable formats don't mind (including PE32/ELF). To do this is very easy, one simple method is to write your data at the end, followed by a single 4-byte integer containing the size of your data. To decode the data, read the last 4 bytes, then read that many bytes from the end of the executable, done. You can then build a virtual filesystem on top of that blob using PhysFS or whatever. It can be tricky to actually write data back into the binary file while the process is running, but it can be done reliably (though in most cases is unnecessary, if you are just looking for a one-file download you can just deploy all your files onto disk the first time your program is run and proceed as usual afterwards). In fact, if you are looking for a read-only solution, then Hodgman's solution of an embedded binary blob is easier and less error-prone, with perhaps the caveat that it may require relinking your executable when changing the embedded data.
I honestly think you are misunderstanding what people are saying, though: Lua does not need its own executable format. It is not generally used as a standalone program (but it can be). It is usually used as scripts called from the main application and interacting with it. Why do you need your Lua scripts to be run standalone without an executable? What are you trying to do? Give more information, please!