Mule ESB allows storing data in variables that can be accessed throughout a flow or entire application. Lists and maps can be defined as Mule variables similarly to Java by using square brackets. Values are retrieved from lists by index and from maps by key. An example demonstrates defining a list and map variable, reassigning list values, and logging values to show functionality.