If this is WinForms, you can use the 'Find operator of any ControlCollection to find all instances of Controls with the specified 'Name key. The 'Find operator has a 'SearchAllChildren optional parameter that will recursively work its way through ContainerControls inside its target ControlCollection.
For WPF, look at use of 'FindName with 'VisualTreehelper [
^]
However, it's best to not use recursion unless absolutely necessary ... better you know the ContainerControl that
actually contains your Labels, Buttons, etc.
Ideally, you'd databind your collection of Labels/TextBoxes so data updates should be seamless: we'd need to know much more about your db and the app/pages structure to pursue that.
If I couldn't use databinding, I might do something like this:
Dictionary<int, Label> IndexToLabel = new Dictionary<int, Label>
{
{0, label1 }, {1, label2}
};
Essentially hard-coding quick access to the Labels.