A FrameMaker variable can easily contain around 1023 characters and you can have thousands of variables in a FrameMaker document, so you can accomplish this form of variable data output.
To populate a FrameMaker document with the desired contents, you can import the variable contents using the MIF format syntax (a fairly simple ascii format). Example:
<MIFFile 11.0> # Generated by FrameMaker 11.0.1.382
<VariableFormats
<VariableFormat
<VariableName `myVar'>
<VariableDef `This my Variable'>
> # end of VariableFormat
<VariableFormat
<VariableName `myVar2'>
<VariableDef `This my second Variable'>
> # end of VariableFormat
... etc.
> # end of VariableFormats
The importing can be automated using FM batch tools (such as Datazone's DZbatcher ).
There are commercial database publishing tools that will work with FrameMaker to facilitate importing of the database contents. See Datazone's Miramo (www.miramo.com) or Finite Matters' PatternStream tools.
Miramo also has a freebie Personal Edition ( MPE - Miramo Personal Edition ) that can be manually run (i.e. you can't use it in an automated server mode) from the desktop.
Other alternatives are to create scripts using Extendscript or Framescript to link to the databases (or their output files) to import the desired contents.
There are quite a number of ways to accomplish this and the method chosen should consider the volume and frequency of your output requirements, as some these approaches would be very time-consuming in large volume, high-frequency environments.