I would highly recommend against a usercontrol accessing another on the page, let alone a control contains within a sibling usercontrol. By definition, a usercontrol can be re-used - what if the page its used on doesnt have a gridview?

You need to have a think about why you need it to have access. For example, if you need
to rebind something in the gridview then I would consider raising an event in Sidebar that is caught by the page, which then in turn rebinds Archives. Alternatively, as a less eloquent solution, you coud raise a bubble event (Control.RaiseBubbleEvent) using a CommandEventArgs and catch OnBubbleEvent on the main page, and rebind the Archives UC from there.
 
If you REALLY REALLY must use FindControl (and I really do recommend that you think about implementing it properly), then you need to seperate the IDs by either : or $. Eg.

// this == Sidebar
this.Parent.FindControl("Archives1:GridView1");