Is there any other way for creating arrays in AMPScript aside from a string as in function BuildRowSetFromString?
From official docs: http://help.exacttarget.com/en/documentation/exacttarget/content/ampscript/ampscript_syntax_guide/content_ampscript_functions/#BuildRowSetFromString
It is true, there is no array data type in ampscript. So, you have to find creative ways to mimic this behavior. Using BuildRowSetFromString and BuildRowSetFromXML are good options.
Server-Side JavaScript allow you to create arrays. You can write code that uses both amscript and ssjs. Variabls can be passed back and forth by using the "getValue" and "setValue" functions.
Another option would be to read and write the values to a data extension using the InsertDE, UpdateDE, UpsertDE, & Lookup functions. This may create more overhead for your process. But, has the added benefit of allowing to to create multidimensional arrays.