Here's an example written by Owen, that shows how to read all the controls on a form, change their properties & write them back to a new ODCL file.
(DEFUN SetOdclFontSizeUnscaled (odclfile password newodclpath / project props fontsize)
(SETQ project (DCL_PROJECT_LOAD odclfile))
(IF (NOT project) (EXIT))
(FOREACH form (DCL_PROJECT_GETFORMS project)
(FOREACH control (DCL_FORM_GETCONTROLS form)
(PROGN (SETQ props (dcl_control_getproperties control))
(IF (MEMBER "FontSize" props)
(PROGN
(SETQ fontsize (DCL_CONTROL_GETPROPERTY control "FontSize"))
(IF (> fontsize 0)
(DCL_CONTROL_SETPROPERTY control "FontSize" (- 0 fontsize))
)
)
)
)
)
)
(DCL_PROJECT_SAVEAS project newodclpath password)
)
(SetOdclFontSizeUnscaled "project1.odcl" nil "C:/temp/project2.odcl")