You can absolutely generate all pipeline configuration dynamically, including dimensions. Traditionally, this was done using a tool like Forge Configuration Manager (FCM), available from Endeca services.
I don't know if FCM is still available but there are several partners (ourselves included) that are available to assist and have similar tools that make this type of task easier. At Branchbird, we make it available during a services engagement, drop us a line if you want to know more.
If you're looking to do this on your own, the easiest thing to do in terms of figuring out what to do is:
a) make a copy of your pipeline folder
b) Open Dev Studio and make the change manually (i.e. add a Dimension).
c) Save your project
d) Use a compare tool (such as Beyond Compare) to examine the folder before/after so you know what files need to be modified.
The thing that makes this tough to do on your own is that property and dimension modifications typically span multiple files so it's not as easy as "add the dimension to this XML file and you are done".
With Endeca Commerce 3.1.1, the ToolsAndFrameworks 3.1.1 has a new component called Configuration Import API which is worth looking at.
Configuration Import API
Endeca Commerce 3.1.1 introduces the Configuration Import API. Included in the Tools and Frameworks package, the Configuration Import API is an ergonomic collection of interfaces that enable programmatic management of Endeca dimensions, schema, and index settings.
The Configuration Import API consists of Java interfaces which enable management of the following Endeca configurations:
Dimension Precedence Rules Index schema
Search index settings
The Configuration Import API integrates with Endeca Commerce 3.1.1 Endeca Configuration Repository (ECR) and includes command line script wrappers for ease of use and simple Deployment Template integration. <b>The Configuration Import API is also intended to replace features previously included with the Forge Configuration Manager (FCM).</b>