I agree. It is the #1 most frustrating thing about using Freedom UI. I spend way too much time trying to figure out the attribute names for columns - I already know the column name, I should be able to use that. I don't know why it doesn't just create the attribute name to match the bound column name (at least for the Primary datasource).
Here's a scenario I find myself in often: I customize an existing Freedom UI page, such as Cases_FormPage. I need to know the attribute for a column that exists on the base Cases page, such as account. This attribute name cannot be found in my custom version of Cases_FormPage since I didn't add that column to the page, it exists on the base Cases page (since the attribute will only exist in the viewModelConfig of the version of the page that added the field). So now I have to go open the code for the base Cases_FormPage to find what the column's attribute is named there (since it won't exist in my custom Cases_FormPage). All this takes way too much time since I have to do all of this for any column I need to reference in the code. It's aggravating - it was the very first issue I reported about Freedom UI. This will only become more complicated as there becomes more layers to the page in the dependencies. You'll have to search through all the layers to find the one that added the column so you can get what the attribute name is.
I'd at least like to see something built-in that allows you to get/set column values based on the column name (and it figures out the attribute name for you) and allows for stuff like request.$context.setValue("ColumnName", "some value") etc