Flow.xml files can be used to declare calling and callable flow configuration.
In theory, it is also possible to provide this information in other ways. The design documentation for Orchestra Flow already describes a way to do this using tags embedded in pages rather than out-of-line xml files. This isn't currently implemented, but is planned and should not be very difficult.
Other approaches may also be possible. For example, if you would like to define the flow caller and callable configuration in a database indexed by viewId, then there is no obvious reason why this could not be done. Please contact the development list if you are interested in developing a new approach.
Theoretically when using flow.xml files to declare flow calls, it should be possible to scan a webapp on startup and determine whether all flow calls are valid, ie whether for each flowCall there exists somewhere a valid flowAccept that has the right type and parameters. This has not yet been implemented, but patches are very welcome.
If flow calls are defined via tags in facelets files, then it might also be possible to scan the xhtml files and extract this information (although facelets templating might make this complex).
For flow calls defined via tags embedded in jsp files this is probably too complicated; a complete jsp parser would be needed to extract the information.