Arduino pmos ZVP2106A as switch
The circuit looks fine to me, but I'm not sure about your choice of mosfet.

The pull-down resistor is optional, but recommended. If the Arduino is unconnected, or the I/O pin is configured as an input, the mosfet gate would be floating. This could cause it to be neither fully on nor fully off, and dissipate so much power it could be damaged. The pull-down resistor protects you from this.

As for the gate resistor, it is to limit the inrush current when switching, which can be significant. The Atmega328P has an absolute maximum rating of 40mA per I/O pin, so you'd want at least 125Ω, but a bit of a margin is a good idea. 150Ω would give you 33mA max, so you'd be safe.

If you want to switch quickly (e.g., using PWM), you want the gate resistor to be as small as possible. If you're only switching occasionally, then anything under 10kΩ is probably fine.

Now for the choice of mosfet. If you look at the third and fourth graphs in the datasheet, you can see that at -5V gate voltage, the Drain-Source voltage at 250mA is over 2V! At your desired 100mA, it's probably less, let's say 2V exactly. That leaves only 3V for your light. And these are typical values, they could be better, but also worse.

Even if you managed to turn that mosfet fully on, its Rdson is 5Ω, so that's at least 0.5V drop at 100mA. This mosfet might not work well for your purposes. If you look for another one, try to find one where the graphs say it'll comfortably do at your gate voltage.

You might consider a jelly-bean bipolar transistor instead. At those currents, those tend to have a voltage drop of 0.7V, but you're guaranteed to properly switch such a transistor.