Select attributes and Express

Permalink
I'm trying to build a simple Express application for an artists CV - it's very simple and I realise there are two ways to go about it.
The entity, called "Event" has four attributes event_title - what you want to call it (so for an exhibition it would be the name of the gallery); event_date - self explanatory; event_category - exhibition, education, publication... etc. and event_notes which allows the user to supply further information.
Now I have worked out that there are two ways to go about this :
1 : Create another entity called "Categories" and create a one to many association to the "Event" entity. Much as Andrew's marinas and boats. For output, this would mean creating a page attribute for each entry of the "Categories" and setting up an entry detail block for each one (bearing in mind that, at the moment you can't filter with associations)
2 : Create what is essentially a spreadsheet table using a "select" attribute for event _categories. What should be possible is to extract the terms used as options in the attribute and then loop through the "event" entity to output each category of event.
Now my problem : I cannot find a way to get at the properties of my select attribute - an ordinary select attribute you can use getOptions and it will offer up an array of options available (or at least from what I can glean from the API).

So question 1: how to access the properties programatically of an existing Express entity either for editing or for my purposes.
And 2: nowhere can I find how to create or edit programatically a "select" attribute - either ordinary or express.
PHP is not my strong point so apologies in advance for being an idiot.

A final question - why does output of Express entries order select atributes in "alphanumeric ascending" instead of "user order" which should be the default ?