Il "concetto" che intendi tu è alla base della programmazione ad oggetti cioè Classe/Oggetto...Incapsulamento etc...
Un post non basterebbe minimamente a colmare tale lacune.
Cmq per quanto riguarda la tua domanda specifica è corretto che ti venga segnalato tale errore in quanto da un metodo statico (alla buona diciamo che è un metodo che nn ha bisogno che l'oggetto/classe in cui risiede venga instanziata) ovviamente non può riferirsi/invocare a nessuna proprietà/metodo che ha bisogno di essere stanziato.
In particolare in metodo main (entry point per l'applicazione) deve essere per forza statico (altrimente la jvm come farebbe a richiamartelo....) e quindi può effettuare operazioni solo su oggetti statici (metodi/proprietà) oppure costruire oggetti al suo interno per poi invoare i metodi su di essi.
Per esempio il tuo problema poteva essere risolto banalmente costruendoti un oggetto "mergeSort" (il nome della classe dovrebbe essere sempre con la prima lettera in maiuscolo...) e invocando su di esso il metodo ordina.
codice:
public static void main(String[] args) {
		// TODO Auto-generated method stub
		mergeSort mergeSort = new mergeSort();//creo l'oggetto
		Scanner sc = new Scanner(System.in);
			int[] v;
			int i, n;
			
			System.out.println("Inserisci la lunghezza del vettore v:   ");
			n=sc.nextInt();
			
			v = new int[n];
			
			for(i=0;i<n;i++)
			{
				System.out.println("Digita l'elemento di indice " + i);
				v[i] = sc.nextInt();
			}
			
			mergeSort.ordina(v,0,n-1);
			
			System.out.println("Vettore ordinato:  ");
			
			for(i=0;i<n;i++)
			{
				System.out.println(v[i]+"");
			}
			System.out.println();
	}