Instantiating icons, labels, and text fields for a contact form
Personally, I don't think this is too bad. What would be better, though, is to keep them as lists:

icons = [wx.StaticBitmap(self.panel, wx.ID_ANY, bmp) for _ in range(4)]
labels = [wx.StaticText(self.panel, wx.ID_ANY, txt ) for txt in 
         ('Name', 'Address', 'Email', 'Phone')]
texts = [wx.TextCtrl(self.panel, wx.ID_ANY, '') for _ in range(4)]


This way you can later do stuff like:

for icon, label, text in zip(icons, labels, texts):
    do_stuff()


Note that I renamed you variables with lower_case as recommended by PEP8, Python's official style-guide, removed unnecessary whitespace and limited the line width to 80 characters.

If all three things describe a single object, why not make it an actual object? Add another class:

class Button():
    def __init__(self, panel, label, bmp):
        self.icon = wx.StaticBitmap(panel, wx.ID_ANY, bmp)
        self.label = wx.StaticText(panel, wx.ID_ANY, txt)
        self.text = wx.TextCtrl(panel, wx.ID_ANY, '')

bmp = None  # Seems to be defined elsewhere in your code
labels = ('Name', 'Address', 'Email', 'Phone')
buttons = [Button(self.panel, label, bmp) for label in labels]


Or maybe a namedtuple is sufficient here, even though the class is able to hide more complexity:

from collections import namedtuple

Button = namedtuple("Button", "icon label control")

bmp = None  # Seems to be defined elsewhere in your code
names = ('Name', 'Address', 'Email', 'Phone')

buttons = [Button(wx.StaticBitmap(self.panel, wx.ID_ANY, bmp),
                  wx.StaticText(self.panel, wx.ID_ANY, txt),
                  wx.TextCtrl(self.self.panel, wx.ID_ANY, '')
                  ) for txt in names]


Then, both for the class and the namedtuple, you can do stuff like:

for button in buttons:
    print button.label