Da die Variablen üblicherweise schön der Reihe nach im Speicher abgelegt sein sollten, könnte man z.B. mit einem Pointer auf das erste Element beginnen und diesen einfach inkrementieren.

Eventuell könnte man auch mal sowas versuchen:
Code:
typedef struct
{
	uint16_t UTC_TIME;
	uint8_t STATUS;
	float LAT;
	uint8_t LATIND;
	float LON;
	uint8_t LONIND;
	float SOG;
	float COG;
	uint16_t DATE;
	float MAGVAR;
	uint8_t MVDIR;
}RMC;

typedef union
{
	RMC A;
	char B[28];
}uRMC;
Aber auch das würde nur dann wirklich Sinn machen, wenn die Variablen alle den gleichen Typ, bzw. wenigstens die gleiche Größe hätten.