I had an idea for a synfig module to write, but once I read the synfig dev wiki, it started seeming less easy to do as just a module. Is there a reason layers can only read data from other layers as a raster image and not at least be able to read the vector data the other layers contain?
No, layers can read the parameters of the rest of layers. It just need to cast the context base class layer to the proper layer class type and the it can access to its parameters.
As example on how to access to the layers parameters through the context see:
github.com/synfig/synfig/blob/m … .cpp#L1145