Ummm this is super easy. All you do is add a static route on MikroTik 1 pointing to MikroTik 2
But MikroTik 2 still needs to have an address. Normally on the link between MikroTik 1 and 2 you would give them a private IP
i.e. 10.0.12.1/30 and 10.0.12.2/30
Then on MikroTik1 you just add your static route
/ip route add dst-address=2.3.4.0/29 gateway=10.0.12.2
Make sure on MikroTik1 you are not using NAT'ing this range when going back out to ISP1
i.e. if you just have a basic masquerade rule like
/ip firewall nat chain=srcnat out-interface=ether1 action=masquerade
You either need to modify the rule to exclude public IP addresses, or just add a rule above it so it doesn't trigger the normal masquerade
/ip firewall nat chain=srcnat out-interface=ether1 src-address=2.3.4.0/29 action=accept
MikroTik 2 you can then do whatever you want with the IP addresses. If you assign to a loopback it will work and respond, or you can assign to customers with PPPoE etc
-------------------------------------
If for some reason you don't want a private IP range between MikroTik1 and 2 (maybe because you only want public IP's to show up in traceroute) you can use /32 addresses on both with a static route so you are not wasting any, only using 1 address. These can be entirely different network ranges, its totally valid to have 1.2.3.4 and 5.6.7.8 talking to each other
MikroTik1: (assuming ether2 connects to MikroTik 2)
/ip address add address=1.2.3.4/32 interface=ether2
/ip route add dst-address=2.3.4.5/32 gateway=ether2
/ip route add dst-address=2.3.4.0/29 gateway=2.3.4.5
MikroTik2:
/ip address add address=2.3.4.5/32 interface=ether2
/ip route add dst-address=1.2.3.4/32 interface=ether2
/ip route add dst-address=0.0.0.0/0 gateway=1.2.3.4
The rest of the available IP's (0/1/2/3/4/6/7) can be assigned however you want on MikroTik2, to customers, different interfaces etc
Many routers support /32 addressing, MikroTik does. Works totally fine (yet ironically does not support /31 properly
)