Is there any module to create a set of field without creating new entity field for each one?
If the objective is to have one entity field that stores a primary key into a custom table schema, the answer is probably no. Location (and its associated Location CCK module) achieves this by its own widget form (via hook_field_widget_form) &amp; element type (via hook_element_info). It creates various processing functions to store the data in its custom data schema. I think such a module you're describing would need to dynamically generate data schema and hook callbacks to achieve what you're wanting.