[Sony Ericsson Xperia Mini, Mini Pro, Xperia Pro, A] Ticklefish:
So this is Gingerbread. As we can see, it's a lot more basic than ICS. There's much less going on.

But that's probably a good thing because it makes applying Method 2 so much easier.

We're only concerned with three lines of your code and they're the ones inside the '@id/icon' LinearLayout:

<com.android.systemui.statusbar.IconMerger android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/notificationIcons" android:paddingLeft="6.0dip" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="1.0" android:layout_alignParentLeft="true" />

This is your notification icons.

<LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/statusIcons" android:paddingRight="6.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_alignParentRight="true" />

This is your status icons (signal, wifi, battery, alarm, GPS, bluetooth, etc).

<com.android.systemui.statusbar.Clock android:textAppearance="@android:style/TextAppearance.StatusBar.Icon" android:gravity="left|center" android:paddingRight="6.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />

And this is your clock.

We want to centralise the clock and ensure that the notification icons don't overlap it. To do this, we need to keep the clock in @id/icons but move it into the middle. So our first step is to make that part of the code look like this:

<com.android.systemui.statusbar.IconMerger android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/notificationIcons" android:paddingLeft="6.0dip" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="1.0" android:layout_alignParentLeft="true" />
<com.android.systemui.statusbar.Clock android:textAppearance="@android:style/TextAppearance.StatusBar.Icon" android:gravity="center" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
<LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/statusIcons" android:paddingRight="6.0dip" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_alignParentRight="true" />

So we've moved the clock code up one line and changed the parameters slightly. Now, this won't center the clock. Not yet. All this does is swap the clock and the status icons around.

So now we need to do something a bit more complicated.

The notification icons line has two parameters that come in useful here: 'android:layout_width="0.0dip"' and 'android:layout_weight="1.0"'

These basically stretch the area for the notification icons to as large as it can be, pushing the clock and status icons all the way to the right.

We need to apply the same parameters to the status icons. This will make the spaces for the notification icons and the status icons the same width, which forces the clock into the middle of the status bar.

This gives us this:

<com.android.systemui.statusbar.IconMerger android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/notificationIcons" android:paddingLeft="6.0dip" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_weight="1.0" android:layout_alignParentLeft="true" />
<com.android.systemui.statusbar.Clock android:textAppearance="@android:style/TextAppearance.StatusBar.Icon" android:gravity="center" android:layout_width="wrap_content" android:layout_height="fill_parent" android:singleLine="true" />
<LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:id="@id/statusIcons" android:paddingRight="6.0dip" android:layout_width="0.0dip" android:layout_height="fill_parent" android:layout_alignParentRight="true" android:layout_weight="1.0"/>

Now, not only is the clock centered, but it can't be overlapped by notification icons because they're in a separate area of the screen.

Simple, really.

Honest... :D