should i be checking for jquery before enqueing it in a plugin

Enqueues are not piling up if done multiple times (that is kinda the point of having a queue).

As for registration – frankly it shouldn’t be done by most (public) plugins. WordPress comes with jQuery to use and when that copy is re-registered to something else – it affects all plugin and theme code that depends on it.

If it’s private code – just do registration once somewhere, no need to duplicate it.