Well, you would check it like
$data_weapons[3].bounded
but you would need to set those values somewhere first, and it doesn't look like you're doing that. With regard to setting it up as a notetag, I think you would be better off creating the bounded method manually, so instead of:
attr_accessor :bounded
have:
def bounded
@bounded = !self.note[/<BOUNDABLE>/i].nil? if @bounded.nil?
@bounded
end
It doesn't make sense to put the bounded_by variable in RPG::Weapon since the RPG::Weapon data is reloaded with the project - it isn't saved in the game. That means that every time you exit the game and reload, the weapon will no longer be bound to an actor. Even if it was, there is only one instance of any RPG::Weapon, so if you want it to be possible for the party to get more than one of the weapon and have two different actors equip the different weapons, then you would essentially need to make it so that the weapons are saved as instances.
As for what to modify next, you would want to be looking at Game_Actor - specifically methods like equippable? and change_equip.
Anyway, I think you're probably not quite ready to write a script like this. You might want to start with something a little more basic.