This works for me, e.g. if I have a Map called "myMap" and want to get the key at index 0 from the map, then I can do something like this...
<s:hidden name="whatever" value="%{myMap.keySet().toArray()[0]}"/>
So in the OGNL, I have to call keySet() and then toArray() and can then just use an index in square brackets after that.
Hope that works for you too