OK... I thought about it some more, and it would be easier than I thought..
Aside from the easy way out, of just using an new tag to just group things, and having to re-adjust all of the positional information manually. Which I'm guessing would be possible with a very minor change, by just adding the tag, and getting LCDinfo to ignore it.
The better option would be to create an <object> tag. Which could be used for the Object origin point, and all items within that <object> tag are referanced to the object origin. Simple maths within the core could just add the x and y of the Object to the x and y of the item to position each item on the screen. Below is a quick example, bear in mind, it is quick, so there might be mistakes.
Code:
<screen>
<name>Winamp2</name>
<action>
<id>Core.ChangeScreen</id>
<parameter>System</parameter>
<delay>5000</delay>
</action>
<object x="10" y="20">
<item type="text" x="0" y="0">
<scrolltype>none</scrolltype>
<textpos>left</textpos>
<fieldsize>5</fieldsize>
<textdata>Total</textdata>
<refresh>500</refresh>
</item>
<item type="plugintext" x="8" y="0">
<scrolltype>none</scrolltype>
<textpos>left</textpos>
<fieldsize>5</fieldsize>
<varid>fraps_fps</varid>
<refresh>500</refresh>
</item>
</object>
</screen>
And of course While I say easier than I thought... I only mean that I thought there might be more changes needed... I'm still not at a stage where I am tempted to start playing with the core source yet.

Still getting my head arround the plug-ins.