Manipulate arrays in Inspector with Editor Script?

Is it possible to write an Editor script that can manipulate the settings one finds in the Inspector window? More specifically, I have a script which contains an array of custom structures. I need to insert (rather than append) new items to that array, and doing this by hand is too tedious. I would like to have an 'insert into array' function I can call to open a space in the middle where needed. Is this even possible?

I tried (with JS) something like this:

var go = GameObject.Find("Scripts");
var ms : MyScript = go.GetComponent(MyScript);

where MyScript contains:

var myArray : myStruct[];

But 'length' is read-only, and 'size' is not a member.

You can use the List generic class which is easier to manage if you want to Insert and RemoveAt.

And then you can create custom Inspector editor to edit your list.

This is not very easy to do, but maybe this is important to you. So this is my idea.

In case anyone needs to know:

Apparently can't be done with JS? But in C#, this will 'insert at the beginning'

    Array.Resize(ref ms.myArray, ms.myArray.Length+1);
    int i;
    for (i = ms.myArray.Length-1; i > 0; i--)
        ms.myArray *= ms.myArray[i-1];*