Hmm, did you buy it second hand?
Those faults seem very uncharacteristic of the ICS L85, it ought to come stock with an M120 spring, which on the middle tension setting ought to be around the 350-360 mark.
Either you have a fault with either the piston, piston head, cylinder head or air nozzle, or you've got a really low power spring in there at the minute, probably an M85 or 90 if it's only shooting at 250 - 290 fps.
If the trickle issue has sorted itself then it's probably best to leave it as it is for now, it might have been something to do with the hop, it might've just needed a few shots through it to bed in or something. Airsofting isn't an exact science unfortunately.
The fire selector thing sounds quite odd, I've never known mine push further than it's supposed to go, but I'd hazard a guess that if you push it beyond a certain point then the bar that connects the trigger mech to the fire selector will be pushed into an unusual position in relation to the gearbox.
The position in relation to the gearbox is important because the bar interacts with the cut off lever in order to provide your semi fire mode. The bar moves with the cut off lever on the inside of the gun when in semi and as it moves it pushes the trigger off the contacts, breaking the circuit after one cycle.
On auto the bar and cut off lever are left to their own devices, but if you push the lever too far, it might block the cut off lever's movement, which would cause a jam in the gears = no firing.
If the selector moves beyond the semi and auto selection points very easily then I'd advise replacing the fire selector assembly. Which is something I'm not sure how to do. But if the issues persist then you could damage the cut off lever, or strip the piston if it slips from auto to semi during a full burst.
It'll probably survive a lot of harsh treatment because it's built like a bomb shelter. But unnecessary harsh treatment is best avoided I think.
You might find that just taking the gun to bits and reassembling it will sort some of the issues, break out the tools, dismantle the gearbox and barrel/hop assembly, check them for anything that looks broken and then reassemble and test, there have been a few times when I've been unable to diagnose a fault and just taking it to bits has fixed it... It's weird. Not sure it'll work for the fire selector unless you dismantle that part as well, but I've never touched that before so I wouldn't know what to advise.
If you get the BB trickle issue back though, then take it all to bits, it might well work.
You might find that you aren't suffering from over hop or double feeding as a result of the low fps it's shooting at, as the fps increases the BBs pass the hop faster, causing them to spin faster, which gives them more lift. You'll have to wait and see how it shoots once you've fixed the fps up to 340, but using .25s will generally sort out over hop.
I'd advise using .25s anyway if you want the most from the gun, range and accuracy are far better with .25s, that goes for any gun in my experience.
As for my set up:
I'm running a madbull M120 in mine currently and on the low setting it's running at about 365 fps, which I thought was pretty high, well, very high... But I figure it's just bedding in as it's only been used for two day's skirmishing over the last 4 weeks. My site limit is 370 so it's not an issue anyway.
For 340 I'd say either get an M100 and use the highest setting, or an M110 and use the middle or lowest. You'll have to test the different settings with a chrono, but I imagine both springs will be capable of providing the right fps value for you. I find I get the best performance by using .25s at about 310fps, so aiming for 340 with .20s is probably a good plan.
Be aware though, you might have to put a few thousands rounds through the gun for the spring to bed in, so if you're worried you might be shooting hot it might be safer to go for a lower power spring over the higher power option.
For barrels, you can get any length up to 510mm, anything longer will be visible through the flash hider. The stock barrel is 480mm long though if you wanted to know.
Any M16, AUG, AK, G3 length, AEG cut barrel will fit completely fine. A Madbull 6.03mm will improve performance, combine it with a Madbull blue hop rubber and you'll see a pretty noticeable improvement.
Me and Finius both use TK Twist barrels though, which only come in one bore and I'm not even sure what it is, his is 480mm long though, like the stock barrel. Mine's 509mm. We also both use the Madbull blue rubber, but instead of using the nub it comes with, we use Big Out H Nubs.
Though to be honest, any nub will do an alright job, I used a biro ink tube cut to size for quite a long time. You tend to need so little hop with the twist barrels that getting a snazzy nub is sort of pointless anyway.
For mags, I use Magpul Emags now, but if you're after regular STANAGs then what I used to use were MAG made plastic mid caps, which I think come in either boxes of 8 or 10, I can't remember which, but they're around £50 in most places. I got mine from airsoftsupplydrop.
Every mag I've tested so far has both fit and fed fine though. KWA, G&P, ICS, G&G, TM, my Magpul Emags obviously. Finius uses Ares mids if I remember correctly. Might be best to just shop about for the best deal.
What was that you were saying about a long post?