If you print your own barcodes (there are many afforable softwares to do this, we use WASP see: http://www.waspbarcode.com/ ) you can assign your own codes. Certain codes can remain static or locked. For example: the first 2 or 3 digits can be the school id (01, 13, 145 etc..) the second set can be the student id. Then you can enter variable numbers relate to the date, weight, etc. Generally a barcode should range from 7 -15 numbers for ideal scanning, unless you spring for a more expensive, comprehensive scanner, but realistically you should be able to set the whole thing up (providing you already have a computer) for under $500.
Hope this helps!
We have used a ton of different barcoding drivers and software in conjunction with our products over the years. There are a number of great companies out there that can help you. We list many of them for use with our products on our Hardware page located at http://www.harveysoft.com/hard_int.htm. All of them work well in just about any situation. When you are looking for drivers and software for barcodes you might also want to check out Seagull Scientific on the Hardware page above. Our clients tell us they are the best and we find they are trouble free ourselves.
Hope this helps,
Bert
A great explanation with links about UPC barcodes can be found at http://en.wikipedia.org/wiki/Universal_Product_Code. All barcode software that supports printing the UPC numbers will do it in the proper format after you obtain one for each product.