Let me reduce the complexity of your question by asking you to forget about power - the power you talk about is irrlevent to the question - 3 volts at 100 amps doesn't tell you anything about the magnetics - it just defines the resistance of the coil at 0.03 ohms.
Next is the permanent magnet producing a flux density of 0.5 teslas. You are questioning what voltage will be induced in the solenoid by this magnet and you are quite rightly equating B (flux density), solenoid area and time in order to calculate the induced voltage.
Well, it's a bit more complex because the flux density from a permanent magnet will not be constant and the induced voltage in the solenoid will depend on the distribution of flux from the magnet. The solenoid's area you say is 0.15 sq m or a diameter of about 0.44 metres and it is very unlikely that a magnet that can be moved around this solenoid will be producing a reasonably constant B across the whole area of the solenoid but, putting that to one side let's assume it is.
The voltage induced in a 100 turn solenoid will be 75 volts.
Keeping the current at 100A in the solenoid can still be achieved using a fairly straightforward (but powerful) current source and as the magnet moves around the solenoid you will see the terminal voltage of the current source produce 75V too. The trouble is that a real current source will not like being reversed biased because the induced voltage is alternating each time the magnet moves around the solenoid.
In fact the current flowing through the coil is irrelevant - if no dc current flowed through the coil and the magnet was moved around you'd still see an induced voltage of 75 volts.
A practical idea for a circuit that keeps the current constant is to use filtering components that block the alternating 75V at the current source but, the low speed and high current requirement make this practically impossible to achieve.
Maybe you'd like to explain your idea a little more.