Maintainer of the Reko project here. Reko does tracing disassembly of various processors, including Z80. Depending on the file format, you may need to specify a specific loading address (since Z80 code is not position-independent).
Reko is available for any platform that can run .NET 6.0 programs. This includes Linux, MacOS, and Windows platforms. On Windows it's available as a GUI program and as a command-line program. On Linux, only as a command-line program. A cross-platform GUI is under development.
Annotations can be added as a C-style header file:
[[reko::address("0204")]] [[reko::returns(register, "bc")]] int16 my_fun( [[reko::arg(register, "hl")]] char *); (see https://github.com/uxmal/reko/blob/master/doc/guide/usermetadata.md for more examples)
As for the specific calling convention you are mentioning, where argument data is provided inline in the instruction stream after the call instruction: Reko has no support for it yet, but I'd be happy to discuss with you what your expectations for such a feature would be.