Check our Developers & Resources page for a list of independent developers familiar with E-junkie and available for hire:
That said, I think only your items 1) and 3) would be possible, and the latter would require you to use our classic cart, as our new cart (currently concluding beta testing) does not yet support customizing its layout. A few tips for your custom developer:
The first part of 1) could use our multiAdd function explained here:
The second part of 1), removing an item when some other item is removed from the cart, sounds similar to what MuvEnum.com used to do; they had a Backup CD add-on item that buyers could add to a download purchase, which would get removed if they remove the download item from their cart. Their site doesn't do this anymore, but your custom developer might contact them for tips or code revealing how they did it.
Your item 3) could be achieved with our classic cart, which supports cart customization documented here:
The Example section on that page shows an Add to Cart button and other custom HTML being added to the bottom of the cart. Since cart customization is specific to each sales page, you could alter this depending on which page of your site the buyer is on.
Regarding item 2), there's no way to set up a discount in Seller Admin that depends on the presence of any item other than the item being discounted. I don't know whether custom javascript might be able to apply or remove a Discount Code depending on the presence or absence of an item in the buyer's cart, possibly related to the second half of your item 1) discussed above.
As for item 4), there is no way to "interrupt" the buyer's progress from the cart to checkout. Typically upsells are done with a succession of Add to Cart buttons, where the initial Add to Cart button isn't a real Add to Cart but, rather, a link that brings up an upsell offer where the "No thanks" choice would work as an Add to Cart button for the non-upsold option, while the "Yes please" choice would work as an Add to Cart for the upsold option.