The dictionary itself contains the only documentation I know of.
You can assign anything, regardless of type, to the "custom data" property of any task, project, or resource. Its up to you to structure the data yourself.
Code:
tell application "OmniPlan"
tell first document
set oTask to make new task
set strAnything to "This could be any string"
set custom data of oTask to strAnything
--Or, for example ...
set lstAnything to {"this", 45, "could", "B", "any", {"list"}}
set custom data of oTask to lstAnything
--Or perhaps more usefully ...
set lstAnything to {{"name", "schweik"}, {"rank", "private"}, {"age", 35}}
set custom data of oTask to lstAnything
end tell
end tell