Using your example, you should call RegisterName for every dynamically created control:
label lbl = new label();
lbl.Name = "ExampleLabel";
RegisterName("ExampleLabel", lbl);
You can then try to locate your control like this:
object j = this.FindName("ExampleLabel");
if (j.GetType() == typeof(Label))
{
string s = ((Label)j).Name;
}
Enjoy