Does DHCP change IP addresses with each boot?
(This does not appear to be a security question).
No, maybe, sometimes.
It depends on the implementation of the DHCP server, its configuration and the usage. Not the protocol itself.
Usually, a DHCP server maintains a set of IP addresses which it will lend out to clients on request. When it lends out an address, it will set a time limit after which the client must renew. As long as the client renews within the time limit they will receive the same address (because it's already assigned to them). If the previous lease has expired when a client asks for an IP address then the next address allocated by the server is dependent on the method chosen the server implementation/policy. It may allocate the first available address from its pool. It may use a round robin cursor on the available ip address list.
The virtualbox DHCP server is relatively crude - AFAIK it does not allow for static mappings nor configuration of lease times. If you want consistent adresses then you'll need to configure a dedicated DHCP server or use static IP addresses.