AFAIK...
To the second question, no there is no reliable way to obtain the name from the API. EA uses the SubType attribute to mean different things for different element types. Many of these are (to date) undocumented. While they are probably quite stable, there is no promise that they will remain the same in future.
With the above caveat, you can be pretty sure that commonly seen element types will stay pretty much the same, at least for the current version of EA. Otherwise many legacy applications would break, due to the same issues you are experiencing.
For now you will have to translate these 'manually' in your applications.
As to the first question, the return value from the SubType field is not (necessarily) the index into the drop-down. The reason for this disconnection has the same root cause as I mention earlier, that the attribute means different things for different elements. Not all elements have SubTypes that are consecutive from 0 or 1, so these are difficult to use as an index. Some do, but there is no guarantee.
You will have to play with the API a bit, but you should be able to find the ones you need, then create a data structure (or whatever) to handle the conversion for your applications.
HTH, David