It is possible to write your own reports to meet your own needs, if you can program a little. You will need to know Scheme (a LISP-like programming language), and it is an excellent idea to have a copy of the GnuCash source code available.
The reporting interface is documented as Report Development; but you can get a good idea of how it works by examining the file src/scm/report/hello-world.scm in the GnuCash source distribution.
You will also need to access data from the "engine" to get information for your report. This is performed by a set of Scheme wrapper functions that are documented in the file src/g-wrap/gnc.html. You may wish to examine some of the other reports in src/scm/report for an indication of how they are used.
At present, reports are produced by internally creating HTML and rendering this with a HTML widget. (Future versions of GnuCash will hopefully support a more flexible system).