Yes, there are luggage lockers, of various sizes. Payment is by coins into the slot. Insert your bag first to select the correct size locker, close the door, then pay cash and receive a ticket with an ID number on - necessary to retrieve to luggage later. They are only accessible during station opening hours.
I think all of the lockers are inside the toilet area, so the toilets need to be open to access the lockers, but there may have been some outside in the corridor as well. I'm sure Scotrail can advise.
I was there last week, if you had asked earlier I could have paid more attention and noted the exact location and price!
There are also showers - paid for at the ticket office.
Morrisons supermarket close by through the station side exit and the 'bus station', Tesco Express in the main street via the main station exit and the pedestrian subway.
If your trip to Mallaig is on a Saturday, note the much reduced bus service.
Fort William to Mallaig is service 500, serves rail stations (or close by) en-route. Local Mallaig service 501 serves Arisaig and Morar. Beware the on-line timetables (Traveline or Shiel Buses versions).
I alighted the train at Morar (1327ish), walked to the loch, silver sands, through Morar village on the old road and then down the main road into Mallaig. A bit tedious on the main road but the view out to the isles as you approach town is good (parallel to the railway). Arrived in Mallaig with an hour to spare for the 1605 return train, but I walk at a decent pace.