Jason,
A league of mine made the conversion to a limited keeper format a few years back. We set it up as an optional thing, teams could keep up to 3 players, but the trade-off is that each player that is kept replaces a draft pick ... keep one player and he is penciled in for your first pick, keep two and they become your first two selections, etc. Players are only eligible to be kept in the first three rounds of the draft and once a player has been kept he has to return to the draft pool for the following season. It's worked well for us and makes for a few tough/interesting decisions each year.
If yours is going to be a mandatory keeper thing, the draft stuff won't matter unless you decide to include that 3 or 4 player option you mentioned. In that case, you might consider making it so the teams that are keeping a 4th player are skipped in the first round of your draft.
As for the off-season trading stuff, we allow it, but not much usually happens until the draft comes into view. You should put some thought into when the keepers would have to be announced - that will play a big role in the trading ... will the keepers be announced on draft day? a week before the draft? at some random point in the off-season? next week? before your draft order is determined or after? It's really a league preference thing.
Good luck with it all.