Sure it's possible. If you load data from a file (xml, json, csv) and display this data in a DataGridView, ListView or ListBox where you assign the DataTable to a BindingSource then the BindingSource becomes the data source for the control then use the language extensions I created in tangent with two buttons, one up one down. This will allow rows to be moved up/down.
From here before saving you might consider having a column to identify the row position and loop through the rows and assign values to the row position column.
Although the following article uses a database as mentioned earlier this can be done without a database but the article does use a database.
Microsoft TechNet Wiki: C# DataGridView - ListBox - CheckListBox - ListView move items up/down
In closing, if I had a non-database version I'd post it but my guess is less than one percent of developers use files as a source for storing information rather than use a database. And some of them are importing/exporting from databases.