sure.
in general IPv6 address auto configuration can work w/o any extra things - so you don't
necessarily need DHCP, like with IPv4, for hosts SLAAC can do everything.
how you hand out IPv6 addresses, or better said: prefixes - depends on your setup.
in your example, i'd use DHCPv6 prefix delegation - tbh, this is what RouterOS supports today.
you either set up a pool under /ipv6 pool. it is not like with IPv4. you need to specify the pool size - i suggest to pick at least a /48 - and the 'subnet size' - so the size of the chunk of ip addresses you want to assign to a certain customer. usually we do a /56 - which is quite big. your customer will need at least a /64 on each IPv6 enabled subnet.
/ipv6 pool add name=userpool prefix=2001:db8::/48 prefix-length=56
once you reference this pool in the ppp profile that is used by your customer, like so:
/ppp profile add name=v6profile use-ipv6=yes dhcpv6-pd-pool=userpool ... (just add your regular ipv4 related things here)
routeros will automatically start a dhcpv6 PD server instance each time the customer using this profile logs in. the /56 will be allocated to that DHCPv6 server instance, and if your subscriber has DHCPv6 PD client configured
/ipv6 dhcp-client add add-default-route=yes interface=uplink pool-name=ipv6pool request=prefix
it will hand out that dynamically allocated chunk of addresses to him.
then his router - i assume this is also a mikrotik device - will create a pool named xxx automatically from the address block received from the DHCPv6 server. now this pool can be then used to auto configure the addresses on the subscribers router. let's assume there's a bridge called bridge1. the cpe config will then contain a line like this:
/ipv6 address add eui-64=yes from-pool=xxx interface=bridge1
or
/ipv6 address add from-pool=xxx interface=bridge1 address=::1
you can specify the lower 64 bits in the address, like address=::1, and this way the upper 64bits will be automatically filled out by the autoconfig routine from the pool that was dynamically created. if you don't set the address - e.g. leave it empty - the interface will be auto-configured using SLAAC, so the lower 64bits will be auto-generated using the mac address of the respective interface (48 bits) and the FF:FE (16 bit) word will be injected into the middle.
once the GUA (the public ipv6 address) is auto assigned to an interface, the interface will start sending periodic router advertisements on this network with the address information that enables hosts in this subnet to generate GUAs for themselves. RouterOS at date doesn't support DHCPv6 address delegation, but that's no issue.
Routeros supports the following RADIUS attributes to assign IPv6 addresses to subscribers:
ATTRIBUTE Delegate-Ipv6-Prefix 123 prefix6
ATTRIBUTE Framed-Ipv6-Address 168 addr6
ATTRIBUTE Dns-Server-Ipv6-Address 169 addr6
ATTRIBUTE Delegate-Ipv6-Pool 171 string
by using the "Delegate-Ipv6-Pool" RADIUS attribute you can assign always the same /56 (or whatever size network) to a specific customer.
check out this wiki page:
https://wiki.mikrotik.com/wiki/Manual:IPv6_PD_over_PPP