Remove the record you don't want, and add the one you do want. Simple as that.
An "update" command is a bit tricky, as it's actually possible to have multiple records for the same name. (For instance, try running "nslookup google.com" in a terminal — from most locations, you'll end up with a whole slew of different IP addresses.) I definitely see the utility of such a command, though, and I'll look into getting one added.
Correct. Records with editable=0 are ones which we created automatically, either because they're structurally required (e.g, SOA and NS records on the root of a domain) or because you've got a service running on the domain which requires them (e.g, "www", "ftp", "mail" records).
You can get the list of valid API commands for a key using the api-list_accessible_cmds command:
Two unrelated but useful things to note here: First of all, the unique_id is optional, and we actually recommend that you skip it unless you need it to prevent commands from being re-executed. Secondly, we support a number of much nicer output formats than the default "tab" format, including json, xml, php, and perl. There's also html, which isn't really useful for machine consumption but is handy for hand testing and debugging.