Where to store non-volitile variables on ARM microcontroller
You will have to read the datasheet for the particular chip you have in mind. There are some M4 chips with high-endurance (100,000 or higher) byte-erasable EEPROM (eg. R7FS7G27H3A01CFC) , others may have writeable flash but must be erased a sector at a time and endurance may be much less. 

'ARM Cortex M4' only describes the base characteristics of the core. There are optional features, and the memory and peripheral complement will depend on the individual manufacturer's implementation. 

You can easily and cheaply (starting at about 10 cents in quantity) use an I2C or SPI serial EEPROM if you want to store a few bytes of user data, so there is no need to make the inclusion of EEPROM a requirement for the MCU. For example, look at the 128 byte 24C01. 

Some may also support a battery back-up, which is usually a bad choice for simple nonvolatile memory storage, but if you need a real-time clock and can stand the data disappearing sometimes when the battery runs down, it might be a viable option.