If you are trying to enter attribute values for a product on the Inventory > Receive Inventory page, and it seems that you cannot; it is most likely because that attribute does not have a permission called "editable." The editable function is used to prevent warehouse workers from entering erroneous information in the spec fields and affecting the integrity of your data.
Example: If two workers are receiving in a processor and they are about to enter the processor speed. Worker A may enter the speed as "1.1GHz" and Worker B may enter it as "1.1 GHz". If you notice, the first value has no space between the digit and the letters and the second value has a space. Even though these look identical, this will result in two different values. If this is a sku-affecting attribute, then this will also generate two different SKUs.
The example above is the reason why we allow system administrators to grant permission to fields with the editable function. It really depends on how much control the administrator wants over the data integrity.
To change the field to editable, go to Global Settings > Inventory Attributes. Select the attribute set you wish to administer at the top left dropdown box. Then, find the attribute and either select or deselect the editable checkbox according to your desire. If you want to keep the editability of the attribute restricted, you can add more values by searching the attribute and clicking the New Value button. Add as many values as you wish.
Figure 1 - Making an attribute editable in an attribute set.
Figure 2 - Add values to an attribute