Not sure if this is exactly what you want, but I wrote a snippet that does something similar.
long strings would be a little taxing surely it could be done with a similar useage efficiency using hash tables and read back as
$x(name,0) : 3
$x(name,1) : hello
$x(name,1-2) : hello world
$x(name,1-3) : hello world x
$x(name,1-) : hello world x
$x(name,2) : world
$x(name,2-3) : world x
$x(name,2-) : world x
$x(name,3) : x
$x(name,-1) : x
$x(name,-2) : world
$x(name,-3) : hello
saving overwriting alias's sure its a few chars more but doesnt creating alias's write to a file? hence performance hit?
i kind of dout we're going to get some special named tokenize command like /ntokenize <name> <char> <string>
and return it using ~name0 ~name-1 ~name1-3,5 etc
which brings me to,
/alias test123 { echo x $1-2,4 }
/test123 echo's x 1 2
sometime its a pity you cant just use ranges and seperate some by commas. althought probably easy enough to use hash tables as i said above and parse accordingly. ie -1,-3 (outputs last and 3rd last 'words')