It's a bit hard to go 'yes no' with this info.
The short of it is: once you are inside a 'interrupt service routine' (ISR), or interrupt handler, you are typically not going to get another IRQ since by dint of entering your IRQ routine the processor did a SEI (inhibit IRQ) for you.
So, if you have a VIC IRQ (eg. raster) and you do not clear it, this will (only) reassert itself when you do 'CLI' during your service-routine.
The other type of interrupt on the 6502 (NMI) can and will happen also during any IRQ handling. So, during an NMI and NMI can happen and during an IRQ an NMI can happen.
I hope that is clear.
For your question I am going to assume you are running 'normal' c128 operation, so with the interrupt flag enabled (like after CLI), and that no automatic NMI sources are set up (eg. when using RSR232). Further, I will assume you are going to have the possible sources of IRQ 'nicely' handled (as in reset VIC and or CIA) during your IRQ.
Now with that out of the way: doing a 'SEI' whilst handling some IRQ has no effect since the processor did that for you upon entering the IRQ. (it saves the return address and the status and sets the I, gets the IRQ address from up high in memory (FFFF FFFE) and starts executing at the word stored there).
This means the IRQ start will depend on whatever the banking is on our c128.
The C128 ROM will allow you to take over IRQ handling by setting 314 315 to point to your own code. Your code might jump to FA65 to conclude in normal fashion.
Back to your question:
"Can I do SEI": yes, it won't matter
"Can I do CLI": yes, however this runs the risk that another IRQ happens.
So: you should NOT do CLI during an interrupt routine if it is possible that the thing that caused the interrupt happens again (e.g a short timer, or a 2nd VIC interrupt being set up like the C128 does in graphic 2 or 4 mode)
Therefore, if DO call something with CLI in it and the next IRQ happens, then your own code should recognize it is 'was busy' and allow the system to conclude this 2nd interrupt. Also, you have to make sure the banking is allowing the IRQ code in ROM to be found. Note that the C128 IRQ code will overrule the banking to systembank if it gets a chance to run. Also the C128 routine will restore FF00 at the end.
Imagine: you reroute 314 315 to your own code but it takes ages and the next interrupt is coming up. You made sure that either a copy of the system IRQ-handler is found or you have Kernal Rom banked in (basic does not need to be in,so you still have some space to work with, but your Dxxx code would be unreachable)
The system will call your routine and you begin by testing some (zeropage?) value which would indicate your routine is busy (check if its zero, for instance). If it's not busy, set that location eg. 1 and continue with your time consuming routine. Then another IRQ happens and it brings you to your routine again, now you see you are 'busy' and instead decide to jump to FA65, this will solve the 2nd IRQ and return you to where you left off in your IRQ handling.
At the end of your IRQ you clear your ZP flag and then jump FA65.
Now you badly want to run some code that is IRQ protected (between SEI and CLI). This code has the problem it clears the interrupt inhibit flag.
You have no choice but to do this conditionally (eg. test that ZP location and decide if CLI is needed or not)
Also, you could potentially move the CLI outside that auxiliary routine so: SEI, JSR xxxx, CLI
That way the xxxx code would be compatible.
I hope this shows:
yes you can call SEI/CLI during IRQ but it requires you have a lot of control over the system state. Not normally the case if the C128 OS is running.