What you enter in the console is always text - so if you want to sort things numerically, you need to convert the text to a number:
string s = Console.ReadLine();
int i;
if (int.TryParse(s, out i))
{
...
}
else
{
...
}
And I wouldn't use an ArrayList - use a typed array or List<T> - that way you don;t have to cast it to the desired type before you use it.
So...Set up either a class to contain the string and integer value together then use a List<T>of that class, or set up two Lists (one of string and one of int) and sort them appropriately.
You know how to do that, yes?