1) If you didn't need dstnat with masquerade, you don't need it with srcnat either. Those things are not really related, each one serves different purpose.
2) That's the one.
3) Yes, two subnets on same interface and routing between them is possible, router doesn't mind. Although in your case you may not want to do it like this, meaning with the /27 mask. If you do that, router now assumes that all other addresses are reachable on that interface, which may not be true.
4) First step is easy, select an address and set it as remote address (i.e. what client gets). And then you just need correct routes, that's what the previous point was about, because if PPPoE client has this address, it's not reachable in router's ether1. You'd have to add proxy ARP for that.
5) It the client should get the address directly, you don't need any NAT. If the second router still has original 45.45.45.3, you need to route the address there (/ip route add dst-address=109.109.109.34 gateway=45.45.45.3). PPPoE server on second router will assign 109.109.109.34 to client.
So packet from internet to 109.109.109.34 will first go to your ISP, it will route it to your first router, from there it will be routed to second router and it will route it to client. Packet from 109.109.109.34 (from client's device) to internet will go to PPPoE server on second router and it will send it directly to ISP, which I assume will work. If not, you'd have to route it through first router, but it probably won't be necessary.
If you'd want to use 109.109.109.x address with NAT, you again need to route it from first router to another, and there you can assign it to either some loopback interface (in RouterOS usually done with empty bridge) or to ether1, it doesn't really matter. But you'd use /32 mask for the same reason given in 3).
What you may not like about this is that other routers still depend on first one. But if ISP routes this subnet to first one, it will simply go there. You could intead ask ISP to split /27 into four /29s and route each to different router. But it depends on what exactly you want to do with those addresses, if having /29 for each router would suit you. Another way would be to give 45.45.45.6 to RB3011 (if you really have four routers in /29, it should be free) and tell ISP to route the /27 there. And you could then route individual addresses to whatever router you'd need.
Firstly, a huge thank you for the detailed reply and clarification on the points.
Regarding point 5:
I did the following:
Router1:
/ip route
add distance=1 dst-address=109.109.109.34/32 gateway=45.45.45.3
Router2:
Added address to PPP Secret 109.109.109.34
/ppp secret
add name=test password=test profile=PPPoE-Profile remote-address=109.109.109.34
At this stage, IP 109.109.109.34 is reachable from the Internet, so if I go to
https://www.ipaddressguide.com/ping and ping it responds.
The ip 109.109.109.34 is active on the pppoe connection.
/ppp active print
60 test pppoe 00:04:00:00:00:85 109.109.109.34 21m36s
The problem is this:
Scenario 1
On Router2;
if I make the route this:
/ip route
add check-gateway=ping distance=1 gateway=45.45.45.1
Then, when browsing from the test PPPOE connection I check my IP via
www.whatismyip.com it shows my IP as 45.45.45.3
Scenario 2
On Router2;
if I make the route this:
/ip route
add check-gateway=ping distance=1 gateway=45.45.45.2
Then, when browsing from the test PPPOE connection I check my IP via
www.whatismyip.com it shows my IP as 45.45.45.2
There are no NAT rules active.
So, what should be the default route?