I have looked into this as well… If the attribute is not used for configurable product it is sufficient to set the attribute as “Required”, it will then show up in the form.
However if the attribute is indeed used for the configurable product then it’s a lot worse.
The form is generated in the Mage_Adminhtml_Block_Catalog_Product_Edit_Tab_Super_Config_Simple class (in app/code/core/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/Config/Simple.php) in the function _prepareForm().
The function has a local variable $attributesConfig which has an array of additional attributes to add, we need to add the attribute we want in the form to this array. But there is only two ways to change that array. Overriding the class in the local/Mage folder or add an extension with a class overriding that copies the _prepareForm method and changes the array. As almost all of the logic of the file is in _prepareForm() either way is equally bad.
I do not think there is a simple way to just change the array without also copying all the other functionality.
Maybe that should be suggested for a future update of Magento. They should simply add a protected field for the attributesConfig which can then be overrided in a child class.
EDIT: I found a better way! It is possible to simply get the fieldset of the form and add fields to that with:
$form = $this->getForm();
$fieldset = $form->getElement(’simple_product’);
then adding fields to that fieldset.