Having had an extremely small part to play in 2.x story (some of my code is in there), I can offer a little of the history which hopefully you can glean some wisdom:

re: NCP
  1. The NCP code from Illinois, Rand et al - talked to the BBN-1822 interface.   To my knowledge, no other networking interface was connected to that code base.
    • 1822 interface board are not be found
    • what would you connect the other end too?
    • Which means that you need to write an NCP driver for some other networking HW you can find for the Unibus
  2. The only PDP-11 @ UCB that might have ever run the NCP code was Ing70 and that was long before 2BSD was released (much less 2.X)
    • As Noel pointed out, there is no NCP code in the 2.9 BSD distribution
re: BSD 2.x & BSD 3.0 - 4.1
  1. BSD 2.0 was the Seventh Edition changes from UCB for the PDP-11 (primarily what was running on the Cory Hall System)
  2. BSD 3.0 was the first Vax release for "Ernie" in Evans.     For all intents this is 2.0 + changes to the Kernel to allow V7 to run on a 780 with paging turned on [I don't remember if csh is default shell for root, it might be -> a user used to the way the 7th edition worked if presented with BSD 3.0 will find 'finger ROM/muscle memory' compatibility].
  3. BSD 4.1 was the widely released Vax distribution where Research Editions and BSD began to diverge.   This was the system that convinced ARPA to make UNIX the supported OS for the next generation being VMS [which was being pushed by Stanford].
  4. Anything in the 2.X line post the original 2BSD tape was a group of mostly undergrads trying to move features from Ernie back to the Cory Hall system.   These changes were then duplicated around campus (Math and Stat Depts as an example) who had purchased PDP-11s.  The first big change was adding overlays for applications so larger address user programs like vi could keep running.   But you tended to need at least sperate I/D (i.e. the 17th address bit as I like to call it).  
  5. Once the kernel overlay code (which I think was about 2.7) was added, it was pretty amazing how much the PDP-11 team did getting many of the later Vax kernel features supported, such a FFS, MIT's Job Control for the csh, new signals and even networking on some systems with 'enough' main memory [i.e. the 22BIT ones].
 re: IP and BSD
  1. UCBVAX (running BSD 4.1) was spliced to the Internet via IP/TCP using the BBN 1.0 IP/TCP release for the Vax by Eric Cooper
  2. BSD 4.1a thru 4.2 were different versions of Vax work from the new CSRG team with new features for the Arpa community; including the creation of sockets and resplicing the BBN stack back the new kernel.
So the issue you will run into is that to get all of the features that were crammed into BSD 2.X from the Vax, you need 'enough' memory to keep the overlays loaded.  I do not believe the Kernel can swap itself out.

Besides the kernel (i-space) code itself, space for I/O buffers becomes a huge issue (it always was before you added networking on the Research systems).   To compound the issue, the networking code has its own memory scheme call 'mbufs' which came from the original BBN code [Rob wrote it to be portable to multiple OS's not just UNIX - the BBN distribution works on things like the HP/3000 also].   Space for all the buffers is going to be your problem.   The less kernel code you have resident, the more room you have for applications code and I/O buffers.

This is why I suggested that if you really want telnet and ftp to the PDP-11, you might be better off moving the networking stack out of the kernel and put a serial line (or even a DR-11B with a simple transfer protocol) via an Arduino or the like.