This may not be possible, depending on how your network is arranged and where your sensor is listening. Consider: the MAC address in the L2 header of a packet will be that of the interface from which it last came. This means that unless your network is completely flat, with no routers except for those to the outside, the MAC address will belong to the last-hop router's interface on the network you have installed your sensor on.
Perhaps you are not aware that Security Onion stores ALL packets that its sensors see, not just the ones from an alert, unless it is prevented from doing so by a BPF filter. This means that you have access to all the traffic for an IP address that traversed the interface your sensor is listening to. Your sentence beginning "It is my understanding that Security Onion stores no packets ..." indicates that you have an incomplete understanding of this and you need to read up a bit more.
Also, you should be able to configure your DHCP server so that it logs all leases and associations, providing a time-based record of who gets what IP address when. With this, you don't need to extract the MAC from the packet (which, as mentioned, may not correspond to the device anyway), you just need to know the time and then check the DHCP server log.
--
Shane Castle
Data Security Mgr, Boulder County IT